jQuery复选框错误

时间:2010-05-16 21:25:08

标签: jquery

我正在开发一个基于jQuery的待办事项列表界面,并且已经打了一针墙。我正在使用的jQuery与我读过的各种教程有点混淆,因为我有点像初学者。

$('#todo input:checkbox').click(function(){
  var id = this.attr("value");
  if(!$(this).is(":checked")) {
    alert("Starting.");
    $.ajax({
      type: "GET",
      url: "/todos/check/"+id,
      success: function(){
        alert("It worked.")
      }
    });
  }
})

这是我正在使用的HTML,

<div id="todo"> 
  <input type="checkbox" checked="yes" value="1"> Hello, world. <br />
</div>

对此的任何帮助将不胜感激。作为参考,我在jQuery中有警报用于调试。我可以告诉代码不起作用的原因是因为我没有收到这些警报。感谢。

1 个答案:

答案 0 :(得分:3)

快速浏览一下,我认为if(!$(this).is(":checked"))部分可能就是问题所在。尝试更像if( !$(this).attr('checked') )

的内容

另外:你的ajax语句中的url看起来不正确。对我来说,它似乎是一条绝对的道路而不是相对道路。

还有一件事:var id = this.attr("value");不应该是var id = $(this).attr("value");吗?

如果这些提示有帮助,请告诉我。否则一般提示:

在您的代码中,您似乎同时测试了三件事。首先,它必须将事件附加到正确的复选框。然后它必须传递一个条件,然后它必须成功进行ajax调用。如果所有这三件事都有效,我们只会收到反馈,否则如果一件事情不合适,那么我们就无法知道失败的原因。测试每件作品以确保其有效,然后您将知道在哪里集中精力。 : - )