我在for循环中单击按钮时设置我的下拉值和html,如下所示(可行):
mySelect.append($('<option></option>').val(result[i].id).html(result[i].add));
然后在我的下拉列表的更改事件中我没有得到任何值,而html返回一个长字符串,这里是更改事件:
$('#ddlHD').change(function () {
//var item = $('#ddlHD').val();
// var item = $(this);
var item = this.value;
alert(item)
});
答案 0 :(得分:1)
如果在选择位于DOM之前添加了事件处理程序,那么您需要这样做:
$(document).on('change', '#ddlHD', function () {
var item = this.value;
alert(item)
});
当前的事件处理程序代码只有在分配处理程序时DOM中的select可用时才有效。
答案 1 :(得分:0)
试试这个。
$('#ddlHD').on("change",function () {
//var item = $('#ddlHD').val();
// var item = $(this);
var item = this.value;
alert(item)
});
如果要动态添加项目,则意味着在加载DOM后,您需要在on
事件中获取该项目。
希望它可以帮到你
答案 2 :(得分:0)
尝试使用:
新的jQuery版本(1.9 +):
$('#ddlHD').on("change", function () {
//var item = $('#ddlHD').val();
// var item = $(this);
var item = this.value;
alert(item)
});
旧的jQuery版本(低于1.9):
$('#ddlHD').live("change", function () {
//var item = $('#ddlHD').val();
// var item = $(this);
var item = this.value;
alert(item)
});