用jquery重复帖子点击复选框

时间:2013-02-27 21:49:16

标签: jquery ajax post click

我正在尝试做一些我认为非常简单的事情。我想设置一个独立的复选框,选中该复选框后,将数据库中的字段切换为“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" });
});

有时它会在点击时运行一次,有时三次,有时四次或五次。我不知道为什么。当我在小提琴中使用相同的相同代码时它工作正常,没有倍数:http://jsfiddle.net/suQfA/4/

(当然,我想出了一个方法,检查切换是否与已经存在的切换相同,所以它不会发布或记录任何内容,但这是一个kludge。)

2 个答案:

答案 0 :(得分:1)

你只需要绑定一次

$("input[name=trackdefect]").change(function(){
    var val = this.checked ? 1 : 0;
    $.post("save.php", { id:"trackdefect",value: val });
});

答案 1 :(得分:0)

尝试使用change事件代替复选框上的click事件。

http://jsfiddle.net/suQfA/5/