不会调用动态加载的选项列表上的更改事件

时间:2013-02-01 14:52:56

标签: jquery javascript-events velocity html-select

我想动态加载(使用速度对象)一个选择下拉列表,然后将change事件与它关联起来;为此,我写道:

$(function() {
        var tableList = $("#tableList");
#foreach( $i in $it.getTableNames() )
        tableList.append($("<option></option>")
            .text("$!esc.html($i)"));
#end
        tableList.change(function(){
            jQuery.ajax({
            type: "GET",
            url: "$it.uri" + "/tablesColumnNames",
            dataType: "json",
            success: loadTableResponse
            });
        });
}

但是,尽管正确加载了选项列表,但永远不会触发更改事件。这有什么问题?谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

待办事项

$(function() {
  $(document.body).on("change","#tablelits",function() {
              //...
         });
  //append your select/options whenever you want
})

注意:显然缓存你的$(document.body),之前的代码只是机制的例证

注意:不要逐个添加您的选项 在您的选择框中创建包含所有选项的变量&amp;然后使用appendTo一次附加选择(因为append往往会出错...)