Как привязать значения фильтра к дополнительным полям
|
|
|
2013-09-19Дата: Четверг, 19.09.2013, 21:16 | Сообщение # 1 |
Сержант
Группа: Пользователи
Статус: Offline
|
Пишу сообщение здесь ибо тему создать (прав нет). Суть идеи: Можно ли взять один фильтр и привязать значения фильтра к дополнительным полям!? Другими словами чтобы выбранное значение фильтра сохранялось в поле $OTHER1$ и другое значение этого же фильтра сохранялось в поле $OTHER2$ и так далее..??
| | |
|
|
2013-09-20Дата: Пятница, 20.09.2013, 02:37 | Сообщение # 2 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, Пишу сообщение здесь ибо тему создать (прав нет). Добрый. Темы создавать можно в форумах: Если вы пришли за помощью, то Вам сюда... Прочее (по теме) и для Гостей форума и Вопросы/ответы на тему JQuery и JScript на сайтах в uCoz
Но и тут нормально ) ..
Суть идеи: Можно ли взять один фильтр и привязать значения фильтра к дополнительным полям!? Другими словами чтобы выбранное значение фильтра сохранялось в поле $OTHER1$ и другое значение этого же фильтра сохранялось в поле $OTHER2$ и так далее..?? И так далее?) - дополнительных полей в доске не так уж много, что бы писать “и так далее”)) Не очень догнал суть, как именно - по какому действию, должны сохранятся выбранные значения, но, думаю, в принципе возможно.. Скриптом, конечно.
| | |
|
|
2013-09-20Дата: Пятница, 20.09.2013, 09:24 | Сообщение # 3 |
Сержант
Группа: Пользователи
Статус: Offline
|
постараюсь объяснить более точно: Имеется один фильтр у которого 30 значений и нужно чтобы в дополнительных полях сохранялось значение, выбранное из фильтра. С виду казалось что селектор выставлен для каждого поля $OTHER1$-$OTHER5$, а на самом деле эти поля служили бы для хранения значений данных одного фильтра. Другими словами в поле $OTHER1$ было выбрано 1 значение из фильтра, а в поле $OTHER2$ было выбрано 6 значение фильтра.И при редактировании новости эти значения не сбивались ( не обнулались ). Поискав в интернете я наткнулся на такой скрипт сохранения, но чтобы переписать его по фильтр знаний уже не хватает Код <script> $('#sfF77').attr('readonly','readonly').after('<b onclick="but1()">Кнопка 1</b> | <b onclick="but2()">Кнопка 2</b> | <b onclick="but3()">Кнопка 3</b>'); function but1(){$('#sfF13').val('Надпись 1');}; function but2(){$('#sfF13').val('Надпись 2');}; function but3(){$('#sfF13').val('Надпись 3');}; </script>
| | |
|
|
2013-09-20Дата: Пятница, 20.09.2013, 21:23 | Сообщение # 4 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, а на самом деле эти поля служили бы для хранения значений данных одного фильтра. - То бишь, у вас фильтр с множественным выбором - чекбоксы? А если выбрано не два значения, а 25 например?
Но, примерно вот так: При добавлении, заполняем поля значениями выбранных чекбоксов: Код <script type="text/javascript"> $('#addEntForm').submit(function(){ var a=['#bdF14','#bdF15','#bdF16','#bdF17']; $('div.filterBlock input:checked',this).each(function(i){ $(a[i]).val($(this).next().html()); }); }); </script> ..
А при редактировании, наоборот: Код <script type="text/javascript"> $(document).ready(function(){ var s=''; $('#bdF14,#bdF15,#bdF16,#bdF17').each(function(){ s+=this.value+','; }); $('#addEntForm div.filterBlock input').each(function(){ if(s.indexOf($(this).next().html())!=-1) this.checked=true; }); }); </script> ..
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 01:48 | Сообщение # 5 |
Сержант
Группа: Пользователи
Статус: Offline
|
likbezz, большое спасибо за ваше внимание, но чекбокс это не совсем так, просто в том коде сохраняло данные если например корректировку материалов делать, но фильтр только с одним выбором, а не чесбокс Я пробовал в поля формы добавления материала просто фильтр вставлять, однако при редактировании материала фильтр в полях принимал одно значение и тем самым не сохранялся Извините, что сразу всё не объяснил более понятно
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 09:46 | Сообщение # 6 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, просто в том коде сохраняло данные если например корректировку материалов делать В “том коде” - это в каком? Вот этот что ли: Код <script> $('#sfF77').attr('readonly','readonly').after('<b onclick="but1()">Кнопка 1</b> | <b onclick="but2()">Кнопка 2</b> | <b onclick="but3()">Кнопка 3</b>'); function but1(){$('#sfF13').val('Надпись 1');}; function but2(){$('#sfF13').val('Надпись 2');}; function but3(){$('#sfF13').val('Надпись 3');}; </script> ..Тогда чет. непонятно что вам нужно. Это скрипт просто добавляет кнопки, по клику на которых вставляется значение в поле sfF13 .. более он ничего не делает.
Я пробовал в поля формы добавления материала просто фильтр вставлять, однако при редактировании материала фильтр в полях принимал одно значение и тем самым не сохранялся - да ладно? фильтр сохраняет выбранные значения. Вам что нужно, что бы выбранное значение продублировалось в дополнительном поле? А зачем тогда из 5 если у списка может быть только одно?
Продублировать вот так: Код <script type="text/javascript"> $('#addEntForm').submit(function(){ $('#bdF14').val($('#bdF20 option:selected').html()); }); </script>
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 13:58 | Сообщение # 7 |
Сержант
Группа: Пользователи
Статус: Offline
|
Я попробовал этот код и у меня что то не получается и скорее всего я просто плохо рассказал свою мысль и начну сначала: В форме добавления я вместо дополнительных полей поставил фильтр
Код <?if($OTHER1_FL$)?> <tr><td class="manTd1">$OTHER1_SIGN$:</td><td class="manTd2">$FILTER1_FL$</td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> <?if($OTHER2_FL$)?> <tr><td class="manTd1">$OTHER2_SIGN$:</td><td class="manTd2">$FILTER1_FL$</td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> <?if($OTHER3_FL$)?> <tr><td class="manTd1">$OTHER3_SIGN$:</td><td class="manTd2">$FILTER1_FL$</td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> <?if($OTHER4_FL$)?> <tr><td class="manTd1">$OTHER4_SIGN$:</td><td class="manTd2">$FILTER1_FL$</td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> <?if($OTHER5_FL$)?> <tr><td class="manTd1">$OTHER5_SIGN$:</td><td class="manTd2">$FILTER1_FL$</td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <?endif?> и хотел бы чтобы выбор фильтра сохранялся в каждом дополнительном поле приблизительно так, но при редактировании значение фильтра сбрасывается так как не привязано к дополнительным полям
я конечно понимаю что с виду это выбор дополнительных полей, а на самом деле просто фильтр выбирается а дополнительные поля вообще не участвуют, но вот чтобы поля начали участвовать у меня начинает кипеть голова как это сделать
я понимаю нужно прописать скрипт по типу значение фильтра1 в ячейке отер1 = значению поля отер1 значение фильтра1 в ячейке отер2 = значению поля отер2 значение фильтра1 в ячейке отер3 = значению поля отер3 значение фильтра1 в ячейке отер4 = значению поля отер4 значение фильтра1 в ячейке отер5 = значению поля отер5
Сообщение отредактировал Аntideath - Суббота, 21.09.2013, 15:53 | | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 19:27 | Сообщение # 8 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, В форме добавления я вместо дополнительных полей поставил фильтр и хотел бы чтобы выбор фильтра сохранялся в каждом дополнительном поле - понятно) А зачем? Ведь есть же переменная $FILTERx_VALUE$ - которая, как раз и выводит значение выбранного фильтра в материал.
Но если, вдруг, то так: Код <?if($OTHER1_FL$)?> <tr><td class="manTd1">$OTHER1_SIGN$:</td><td class="manTd2"><span id="other1_fl"><span style="display:none;">$OTHER1_FL$</span> $FILTER1_FL$</span></td></tr> <tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr> <script type="text/javascript"> $('#other1_fl select').change(function(){ $('#other1_fl input').val(this.value); }); </script> <?endif?>
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 20:08 | Сообщение # 9 |
Сержант
Группа: Пользователи
Статус: Offline
|
likbezz, большое спасибо за помощь! Теперь пытаюсь чтобы фильтр не сбрасывал значения, а брал его из полей и попробовал добавить скрипт Код <script type="text/javascript"> $('#other4_f4 input').val(function(){ $('#other4_f4 select').val(this.value); }); </script> И теперь он не сбрасывает значение у фильтра, но зато сбрасывает значение поля.
картинка при добавлении
картинка при редактировании
И думаю это потому что я чтото криво сделал
Цитата А зачем? Ведь есть же переменная $FILTERx_VALUE$ - которая, как раз и выводит значение выбранного фильтра в материал.
Просто мне нужно чтобы выбранный фильтр не сбрасывался при редактировании, а менялся если захочу его поменять.
Сообщение отредактировал Аntideath - Суббота, 21.09.2013, 20:11 | | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 20:11 | Сообщение # 10 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, Теперь пытаюсь чтобы фильтр не сбрасывал значения, а брал его из полей и попробовал добавить скрипт Фильтр запоминает выбранные значения сам, системно. Зачем что-то дополнительное вешать?
$('#other4_f4 input').val(function(){ - неправильно.
Не надо ничего дополнительно писать.
- если у вас сбрасывается - значит это вас косяк, может скрипт какой сбрасывает.. - смотрите, ищите.
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 20:57 | Сообщение # 11 |
Сержант
Группа: Пользователи
Статус: Offline
|
likbezz, спасибо за поправку! Лишнее убрал и всё заработало! Вот только можно как то сами поля скрыть а выбор фильтров оставить, чтобы было видно только как тут
| | |
|
|
2013-09-21Дата: Суббота, 21.09.2013, 22:32 | Сообщение # 12 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, Вот только можно как то сами поля скрыть а выбор фильтров оставить, чтобы было видно только как тут Код <span id="other1_fl"><span style="display:none;">$OTHER1_FL$</span> $FILTER1_FL$</span> ..
| | |
|
|
2013-09-22Дата: Воскресенье, 22.09.2013, 12:23 | Сообщение # 13 |
Сержант
Группа: Пользователи
Статус: Offline
|
likbezz, спасибо А можно ещё вопросик такой: Можно ли в название добавить автоматически категорию + значение фильтра?
| | |
|
|
2013-09-22Дата: Воскресенье, 22.09.2013, 19:00 | Сообщение # 14 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Аntideath, Можно ли в название добавить автоматически категорию + значение фильтра? Можно
| | |
|
|
2013-09-23Дата: Понедельник, 23.09.2013, 13:38 | Сообщение # 15 |
Сержант
Группа: Пользователи
Статус: Offline
|
likbezz, сможешь помочь а то я сам не разбирусь наверно и мне бы хотя бы чтобы чтобы в название автоматически добавляло название выбранной категории. Я поискал в интернете и нашел похожие скрипты авто добавления тегов из названия материала: 1 скрипт: Код <script type="text/javascript"> $(document).ready(function(){ $("form#addEntForm").submit(function(){ if ($('#suggEdit').val().match(/^\s*$/)) { var entryname = $('#sfF1').val(); entryname = entryname.split(' ').join(', '); $("#suggEdit").val("" + entryname + ""); }});}); </script>
2 скрипт Код <script type="text/javascript"> $('input[name="title"]').keyup(function() { $('input[name="tags"]').val($(this).val().split(' ').join(',')) }); </script>
Для проверки второго скрипта я попробовал теги и проверил он рабочий Код <script type="text/javascript"> $('input[name="tags"]').keyup(function() { $('input[name="title"]').val($(this).val().split(' ').join(',')) }); </script> Но вот чтоб их переделать чтобы поле названия материала заполнялось при выборе категории, мне моих мозгов пока не хватает
Сообщение отредактировал Аntideath - Понедельник, 23.09.2013, 13:45 | | |
|