加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 23:13:55 所属栏目:百科 来源:网络整理
导读:我正在使用所选的jQuery插件(由Harvest).它在(document).ready上运行正常,但我有一个按钮,当单击它时,使用ajax动态创建更多选择对象,我想使用“选择”功能.但是,只有原始选择元素具有“选定”功能,而新(动态创建)功能不起作用.我正在使用jQuery.get来追加新
我正在使用所选的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文档,您可能会得到不可预测的结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读