单击按钮取消选中复选框

时间:2017-11-13 10:14:05

标签: javascript jquery checkbox

我已经尝试了所有给定的方法取消选中jquery中的复选框,请找到我的下面的代码。

$('#btnDeleteEnterpriseID').click(function () {
       $('#chkbox').prop('checked', false);
       $('#chkbox').removeAttr('checked');
       $('#chkbox').checked = false;
       $('#chkbox').attr('checked', false);
       $('#chkbox input:checkbox').attr('checked', false);
       $('#chkbox input[type=checkbox]').removeAttr('checked');
    });

尝试过我现在可以得到的所有方法。

以下是我的复选框和按钮的代码。

@helper DisplayMultiLine(string str) 
{ foreach (string s in str.Split(new char[] { ',' }))
 { <input type="checkbox" id="chkbox" value="@s"class="edit-mode" />@s <br />} 
}

这里,@ DisplayMultiline是我在Web Grid列中使用的辅助类,如下所示,

grid.Column(columnName: "EnterpriseID", 
format:@<text><span class="display-mode">
<label id="EnterpriseId" ></label>
</span>@DisplayMultiLine(@item.EnterpriseId)</text>),

我希望此复选框在删除按钮的单击事件时取消选中,代码如下所示。

<button type="button" id="btnDeleteEnterpriseID" 
value="Delete" class="cancel-user edit-mode" onclick="DeleteEnterpriseID()">Delete</button>

我没有弄错,请帮助。

请注意,我没有将所有这些可能性一起使用,我只是想告诉我,我已经使用了几乎所有的方法,并逐一尝试过。

1 个答案:

答案 0 :(得分:0)

您正在foreach中生成重复的标识符:

@helper DisplayMultiLine(string str) 
{ foreach (string s in str.Split(new char[] { ',' }))
 { <input type="checkbox" id="chkbox" value="@s"class="edit-mode" />@s <br />} 
}

如果您有多个具有相同ID的对象,则jquery无法区分您瞄准哪一个

Jquery将只在它匹配的第一个上工作,或者根本不工作找到区分每个复选框的方法。 例如:

@helper DisplayMultiLine(string str) 
int i = 0;
{ foreach (string s in str.Split(new char[] { ',' }))
 { <input type="checkbox" id="chkbox" + i value="@s"class="edit-mode" />@s 


}

  i++;

}