gpt4 book ai didi

ajax - 加载动态 "chosen"选择元素

转载 作者:行者123 更新时间:2023-12-03 22:31:28 25 4
gpt4 key购买 nike

我正在使用选择的 jQuery 插件(由 Harvest 提供)。它在 (document).ready 上工作正常,但我有一个按钮,单击该按钮时,会使用 ajax 动态创建更多我想要使用“选择”功能的选择对象。但是,只有原始的 select 元素具有“选择”的功能,新的(动态创建的)不起作用。我正在使用 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");

最佳答案

确保 response 元素具有 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 - 加载动态 "chosen"选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com