jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 附加选择的change()不起作用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我为SELEct元素改变了jQuery函数
$("#category").change(function(){
    $("table[id=advance_search]").append("<tr id='item_type'></tr>");
    $("tr[id=item_type]").append("<td class='field_input'><SELEct id='type'><option value='1'>One<option><option value='2'>Two<option></SELEct></td>");
});

$("tr[id=item_type]").children(".field_input").delegate("SELEct[id=type]","change",function() {
    console.log("change");
});

当我在SELEct#type上更改值时,字符串“change”不会在控制台中显示.
谁能帮我?

已编辑,用于添加< td class ='field_input'>作为$的子项(“tr [id = item_type]”)

解决方法

这里的问题是因为change()(以及所有其他事件处理程序快捷方式)在页面加载时绑定,但在此之后动态添加元素.相反,您需要使用delegate()在附加后将事件附加到此元素.
$("tr[id=item_type]").delegate("SELEct[id=type]",function() {
    console.log("change");
});

或者,如果您使用的是jQuery 1.7,则可以使用on():

$("tr[id=item_type]").on("change","SELEct[id=type]",function() {
    console.log("change");
});

您可能希望修改您在此处附加的SELEct元素,因为它有一个ID,如果多次附加,可能很容易重复,这会使页面无效.

大佬总结

以上是大佬教程为你收集整理的jquery – 附加选择的change()不起作用全部内容,希望文章能够帮你解决jquery – 附加选择的change()不起作用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。