Замена и повторный поиск по 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, время: 14:41. |