JQuery выбрать изменение не стрелять
Мне нужно захватить, когда изменяется окно выбора, должно быть просто!
$('#multiid').change(function(){
alert('Change Happened');
});
Но это не работает, я подозревал, что проблема заключается в том, что окно выбора не существует на готовом документе, он создается только при необходимости, поэтому я создал его пустым в HTML, заполнил его кодом как тест, но это не так, t тоже.
function buildmulti(id,name,price) {
// build action items for action bar
var optlist = $('<select></select>').attr('id', 'multiid').attr('name', 'multiid');
optlist.append('<option value="0">Select Size</option>');
$.each(option, function(index, val) {
if(val.prodID *1 == id * 1) {
v = val.ID;
fprice = price * 1 + val.pricechange * 1;
t = name + ' - ' + val.variation + ' - ' + currency + (fprice).toFixed(2);
optlist.append('<option value="' + v + '">' + t + '</option>');
}
})
$('#addbasket').append(optlist);
};
это, вероятно, другая скобка неуместна, но я не могу ее найти!
Ответы
Ответ 1
Попробуйте
$(document).on('change','#multiid',function(){
alert('Change Happened');
});
Поскольку ваш код выбора генерируется из кода, вы должны использовать делегирование событий, где вместо $(document)
вы можете иметь самый близкий родительский элемент.
Или
$(document.body).on('change','#multiid',function(){
alert('Change Happened');
});
Update:
Второй работает отлично, есть другое изменение селектора, чтобы заставить его работать.
$('#addbasket').on('change','#multiid',function(){
alert('Change Happened');
});
В идеале мы должны использовать $("#addbasket")
как ближайший родительский элемент [Как я уже упомянул выше].
Ответ 2
Попробуйте это
$('body').on('change', '#multiid', function() {
// your stuff
})
проверьте .on()
селектор
Ответ 3
$(document).on('change','#multiid',function(){
// you desired code
});
ссылка on
Ответ 4
Вы можете запустить событие chnage следующими способами:
Первая
$('#selectid').change(function () {
alert('This works');
});
Второе
$(document).on('change', '#selectid', function() {
alert('This Works');
});
Третий
$(document.body).on('change','#selectid',function(){
alert('This Works');
});
Если эти методы не работают, проверьте работу jQuery или нет:
$(document).ready(function($) {
alert('Jquery Working');
});
Ответ 5
Это работает для меня!
$('#<%= ddlstuff.ClientID %>').change(function () {
alert('Change Happened');
$('#<%= txtBoxToClear.ClientID %>').val('');
});