gpt4 book ai didi

javascript - change() 事件在 jquery 中调用了两次

转载 作者:行者123 更新时间:2023-11-28 02:39:38 26 4
gpt4 key购买 nike

最终编辑: 我已经解决了将 .change() 替换为 .trigger('click') 的问题。完美运行。

谢谢大家

最后编辑:
我尝试在 Jsfiddle 上重现该问题,但它运行良好:https://jsfiddle.net/a8e0fmn0/9/

编辑:(查看新代码)我用 Number 设置了一些警报,当我执行时,结果是:

当我点击#idModalCheckbox 时:1-2-3-3

当我点击#idCheckbox 时:3

结束编辑

-

我有 2 个 .change 函数,第一个更改第二个,第二个生成一个 ajax 请求。

我的代码.js :

$(document).ready(function(){
$('#modalCheckBox').on('change', '#idModalCheckbox', function(){
alert('1');
var id = $(this).parents('#id');
$('#idList li').each(function() {
if($(this).children('#id').html() == id) {
alert('2');
//loop to find the right row
item = $(this).find('#idListCheckBox').prop('checked', true).change();
}
});
});

$('#idCheckBox').change(function(){
alert('3');
var oPost = {
"1": a,
"2": b,
"3": c};
//oPost get data from the $(this) row






console.log(oPost);
$.ajax(
{
url : "http://" + d + e + f,
data : oPost,
type : 'post',
dataType : 'json',
success : function(jsonCallback)
{
console.log(jsonCallback);
}
});
});
});

然后在我的控制台中,当我单击“#idModalCheckbox”时,我的帖子和 JsonCallback 分别是 2 次和 2 次,而当我单击“#idCheckBox”时,我只有一次

my.html(在 php 中循环生成,我的 idCheckbox 所在的位置)

<li>
<span hidden id="id"><?=id;?></span>

<span>
<input id="idCheckBox" name="idCheckBox" <?= $checked == true ? 'checked': '';?> data-toggle="toggle" data-onstyle="success" data-offstyle="danger" data-width="60" data-size="small" type="checkbox" data-on="on" data-off="off"/>
</span>
</li>

my2.html(模态)(在循环中用 php 生成)

<tr>
<td>
<input id="modalCheckBox" name="modalCheckBox" data-toggle="toggle" data-onstyle="success" data-offstyle="danger" data-width="60" data-size="small" type="checkbox" data-on="on" data-off="off"/>


</td>
</tr>

感谢帮助

最佳答案

您要么将事件绑定(bind)两次,要么将它绑定(bind)一次到两个都具有该 ID 的元素。

关于javascript - change() 事件在 jquery 中调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45241383/

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