我正在尝试做一些我认为非常简单的事情。我想设置一个独立的复选框,选中该复选框后,会将数据库中的字段切换为“1”。未选中时,它将该标志切换回 0。我已将帖子侧设置得很好,但是单击时,我最终会多次发生帖子。
<input name="trackdefect" value="1" type="checkbox" id="trackdefect"><label for="defect">Factory Defect</label>
还有我的 javascript:
$("input[name=trackdefect]:checked").live('click', function(e) {
$.post("save.php", { id:"trackdefect",value:"1" });
});
$("input[name=trackdefect]:not(:checked)").live('click', function(e) {
$.post("save.php", { id:"trackdefect",value:"0" });
});
有时它会在点击时运行一次,有时会运行 3 次,有时会运行 4 次或 5 次。我不确定为什么。当我在小提琴中使用几乎相同的代码时,它工作正常,没有倍数:http: //jsfiddle.net/suQfA/4/
(当然,我想出了一个解决方法,检查切换是否与已有的相同,因此它不会发布或记录任何内容,但这是一个杂乱无章的问题。)