ajax – 加载动态“选择”选择元素

前端之家收集整理的这篇文章主要介绍了ajax – 加载动态“选择”选择元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用所选的jQuery插件(由Harvest).它在(document).ready上运行正常,但我有一个按钮,当单击它时,使用ajax动态创建更多选择对象,我想使用“选择”功能.但是,只有原始选择元素具有“选定”功能,而新(动态创建)功能不起作用.我正在使用jQuery.get来追加新元素.以下是代码示例:
jQuery(".select").chosen();//this one loads correctly
jQuery("#add-stage").click(function() {
    jQuery.get('/myurl',{},function(response) {
            //response contains html with 2 more select elements with 'select' class
            jQuery('#stages').append(response);
        jQuery(".select").chosen();//this one doesn't seem to do anything :-(
    });
});

我在想某个地方需要一个.live()函数,但我还没有想到它.任何帮助深表感谢!

注意 – 我没有尝试动态加载新选项,如使用trigger(“liszt:updated”)文档中所指定的那样;

解决方法

确保响应元素具有select类.
console.log( response );  // to verify

插件应用于新元素也是一个好主意.

jQuery(".select").chosen();

jQuery("#add-stage").click(function() {
    jQuery.get('/myurl',function(response) {
        console.log( response ); // verify the response

        var $response = $(response);  // create the elements

        $response.filter('.select').chosen(); // apply to top level elems
        $response.find('.select').chosen();   // apply to nested elems
        $response.appendTo('#stages');
    });
});

此外,如果/ myurl返回整个HTML文档,您可能会得到不可预测的结果.

猜你在找的Ajax相关文章