|
|
|
| Всем доброго дня!
На странице есть фильтр с формами, чек-боксами, селектами и т.п. Так вот, фильтр срабатывает когда меняется значение хотя-бы одной формы, а если быть точнее, то у всех форм задан один класс, и по change function посылается ajax запрос в скрипт обработчик и ответ выводится на экран.
Проблема возникает тогда, когда я часть фильтра(а именно два поля select с датами "От" и "До") вывожу из отдельного файла(файл php в котором формируется эти списки). В этом случае фильтр уже не срабатывает по изменению значения этих двух полей, хотя класс полей не менялся. Другими словами, если я вывожу эти два селекта непосредственно на странице, то форма срабатывает по изменению значений этих полей, а если я вывожу их ajax-ом из другого файла, то форма уже не срабатывает.
В чем может быть проблема? | |
|
|
|
|
|
|
|
для: sasha12345
(25.05.2016 в 12:55)
| | Проблемы на само деле нет, вы вешаете событие на клас, но элементов этого класса еще не существует на момент отработка js. Если вы делаете например на jquery то внимательно прочитайте хелп по обработчику события. | |
|
|
|
|
|
|
|
для: KPETuH
(25.05.2016 в 13:57)
| | Хорошо, а если я делаю следующим образом: на странице вывожу селект с классом
<select class='filter' size='1'>
<span id='echo_DATA'></span>
</select>
|
а в "echo_DATA" вывожу
<option value='$row' >$row</option>
| которые формирую в отдельном файле php.
В итоге, в echo_DATA ничего не попадает(селект пустой).
alert показывает все сформированные option, а в select они не выводятся... Что получается, что js не может добавлять новые option в уже сформированный select? | |
|
|
|
|
|
|
|
для: sasha12345
(25.05.2016 в 14:12)
| | <select class='filter' size='1'>
<span id='echo_DATA'></span>
</select>
Уже интересно. Это где вы такое откопали? В теге SELECT кроме OTION иных тегов не должно быть. Поместить в атрибут id тег OPTIN, это нечто запредельное. | |
|
|
|
|
|
|
|
для: confirm
(25.05.2016 в 16:47)
| | Понял. Тогда еще пару вопросов:
Так как у меня один php файл который формирует списки дат "От" и "До" для двух select-ов, могу ли я одним ajax запросом вывести в два разных select-а соответствующие им списки?
Возможно ли задать фиксированную высоту блоку вывода option, так чтобы появлялся скролл если элементы не помещаются в это окно? | |
|
|
|
|
|
|
|
для: sasha12345
(25.05.2016 в 18:17)
| | С первым вопросом разобрался: в php файле вывожу два списка разделенных запятой, а на странице вывода разбиваю эту строку в массив и вывожу куда требуется
var arr_data = data.split(',');
$('#dateTu').html(arr_data[0]);
$('#dateFrom').html(arr_data[1]);
|
А со вторым пока что не получается... | |
|
|
|
|
|
|
|
для: sasha12345
(25.05.2016 в 18:47)
| | Сервер отдает клиенту списки либо как готовый html, либо данные для списка, если html-код их получается на клиенте, и для этого удобен формат JSON. И в первом, и во втором случае необходимости в запятой нет.
Список, это системный элемент, он всегда перекрывает родительский и если не помещается во высоте в клиентскую область, то автоматически получает прокрутку. Поэтому не понятно чего там надо и зачем прокручивать. | |
|
|
|