对于任何类型的Web开发,我都不是很有经验,更不用说jquery和ajax,我需要使用它,所以我有一个艰难的时间。
我正在开发一个项目,当点击一个名为“Reopen”的单独按钮时,该项目需要我将两个复选框重新显示为“未选中”。现在我正在使用的代码是:
$('.reopenBtn').click(function() {
var confirm_reopen = confirm("Are you sure you want to open this opportunity back up?");
if (confirm_reopen) {
var href = 'cfcs/opportunity.cfc';
var method = 'ReopenOp';
var opsid = $(this).parent().parent().attr('id');
$('#' + opsid).ajaxSuccess(function() {});
$.post(href, {
method: method,
opsid: opsid
});
$('.lost').removeAttr('checked');
$('.won').removeAttr('checked');
}
});
此代码的问题在于它重新绘制了页面上复选框的所有实例,而不仅仅是赢得和丢失复选框的特定实例。我正在寻找的是这样的:
$(this).('.lost').removeAttr('checked');
$(this).('.won').removeAttr('checcked');
就像我说的,我对大多数Web开发语言都不是很有经验,所以我真的不知道能够做到这一点的语法。我的限制是能够阅读和理解代码足以调整和更改它,而不是从头开始任何新的。
非常感谢任何帮助!
答案 0 :(得分:2)
您可以将其作为选择器http://api.jquery.com/jQuery/#selector-context
中的上下文传递$('.lost,.won',this).removeAttr('checked');
仅供参考,.prop()是从jQuery 1.6 +开始在属性中设置禁用的正确方法