在JQuery中引用类的当前对象

时间:2012-11-19 20:44:40

标签: jquery jquery-selectors this

对于任何类型的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开发语言都不是很有经验,所以我真的不知道能够做到这一点的语法。我的限制是能够阅读和理解代码足以调整和更改它,而不是从头开始任何新的。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您可以将其作为选择器http://api.jquery.com/jQuery/#selector-context

中的上下文传递
$('.lost,.won',this).removeAttr('checked');

仅供参考,.prop()是从jQuery 1.6 +开始在属性中设置禁用的正确方法