ajax选择添加动态元素

时间:2012-10-30 16:45:52

标签: jquery jquery-plugins jquery-chosen

我的代码需要帮助:

我动态添加元素,创建新元素需要这些函数有插件 称为CHOSEN但是在创建后创建它们不起作用我试图重新运行该函数以将选择的属性添加到新元素。

ajaxchosen = function () {
    $("select").each(function(index, element){
        $(element).ajaxChosen(
                   { method: "GET", 
                     url: $(element).attr("source"),
                     dataType: "json"
                   }, function(data){ 
                       var terms; 
                       terms = {};
                       $.each(data, function (i, val) {
                           return terms [i] = val;
                       });
                       return terms;
                   });
    });
};

$ (element).closest("form").find(".nested-field:visible:last").append(template.replace(regexp, new_id));
ajaxchosen();

2 个答案:

答案 0 :(得分:7)

如果修改已使用Chosen转换的选择内容,则需要调用

$("#form_field").trigger("liszt:updated");

或(取决于您使用的版本)

$("#form_field").trigger("chosen:updated");

在修改之后,所选择重新加载该选择并更新值。因此,您可以直接在select(而不是选择的div)上使用一些ajax添加值,然后调用该方法。

查看文档:{​​{3}}

答案 1 :(得分:3)

liszt:updated已被弃用。

使用

$("#form_field").trigger("chosen:updated");