Замена и повторный поиск по id
Добрый день
В js новичок На странице есть select с различными значениями, справа от select input с Id Когда в select выбираю дату то в инпут поставляется(пробовал так же и удалять и рисовать заново) Id по которому должен срабатывать выпадающий календарь календарь работает нормально т.е.есди изначально у инпута стоит этот id при загрузке страницы то при нажатии на инпут календарь выпадает Если у инпута удалить I'd средствами js то при нажатии на инпут календарь все равно работает Пробовал заново перерисовывать элемент - не срабатывает Проьовал удалять файл со скриптом календаря со страницы - календарь как работал при нажатии так и работает Замену I'd тоже пробовал - не помогает Как я понимаю нужно заставить обойти заново страницу Подскажите как это сделать или в чем моя ошибка? |
danon_13,
в чём проблема? |
Цитата:
в случае перерисовки этого элемента т.к. полного удаления инпута и добавлении нового но уже с другим ID этот новый ID не срабатывает т.е. даже обычный алерт не выводится |
danon_13,
не осилил вашего описания |
Цитата:
при нажатии на поле выдаст календарь (фаерфокс или хром) далее поменяйте селекс дата отчета на что нибудь другое (выполнится скрипт http://site.pavlyuchenko.pro/assets/jq.js) и заменит инпут далее снова выберите дата отчета - вставится тот же инпут который был ранее, но при нажатии на него календарь не выпадает, хотя ID снова указан тот что и был |
danon_13,
нормальный способ: создали новый элемент, затем проинициализировали, при удалении разрушили виджет и затем удалили элемент. но можно сохранить с помощью detach удалённый элемент а потом вернуть. $(document).ready(function() { var datepicker; $("#form").change(function() { if (this.value == "data_otch") $(".for").html("").append(datepicker); else { datepicker = $("#datepicker-default").detach(); $(".for").html('<input name="filtr" value="" class="form-control input-sm" id="" type="text">') } }); $(".datepicker-default").click(function() { alert("123") }) }); |
Цитата:
|
если выбрать по одному элементу из списка, а затем вернуться к первому то инпут пропадает
поэтому таким образом исправил решение $(document).ready(function() { var datepicker; var p; $("#form").change(function() { if (this.value == "data_otch") { $(".for").html("").append(datepicker); p = 0; } else if(p == 1){ p = 1; } else{ p = 1; datepicker = $("#datepicker-default").detach(); $(".for").html('<input name="filtr" value="" class="form-control input-sm" id="" type="text">'); } }); }); |
danon_13,
Загадочное действие Код:
if(p == 1){ if(p != 1){? |
danon_13,
$(document).ready(function() { var datepicker; $("#form").change(function(){ if (this.value == 'data_otch'){ $(".for").html('') .append(datepicker); } else if($("#datepicker-default").length){ datepicker= $("#datepicker-default").detach(); $(".for").html('<input name="filtr" value="" class="form-control input-sm" id="" type="text">'); } }); }); |
Часовой пояс GMT +3, время: 15:11. |