我正在开发一个基于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中有警报用于调试。我可以告诉代码不起作用的原因是因为我没有收到这些警报。感谢。
答案 0 :(得分:3)
快速浏览一下,我认为if(!$(this).is(":checked"))
部分可能就是问题所在。尝试更像if( !$(this).attr('checked') )
另外:你的ajax语句中的url看起来不正确。对我来说,它似乎是一条绝对的道路而不是相对道路。
还有一件事:var id = this.attr("value");
不应该是var id = $(this).attr("value");
吗?
如果这些提示有帮助,请告诉我。否则一般提示:
在您的代码中,您似乎同时测试了三件事。首先,它必须将事件附加到正确的复选框。然后它必须传递一个条件,然后它必须成功进行ajax调用。如果所有这三件事都有效,我们只会收到反馈,否则如果一件事情不合适,那么我们就无法知道失败的原因。测试每件作品以确保其有效,然后您将知道在哪里集中精力。 : - )