下拉值在更改事件上不返回任何内容

时间:2013-06-11 09:14:27

标签: jquery drop-down-menu onchange

我在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)
            });

3 个答案:

答案 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)
});