取消选中3个复选框即将到来 [英] Unchecking of 3 checkboxes are not coming
本文介绍了取消选中3个复选框即将到来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨朋友们,
我正在使用VS 2013,Javascript。
我有一个带有4个复选框的gridview。当我检查时第一个复选框,其他3个复选框被选中。但是当我取消选中第一个复选框时,应该取消选中其他3个复选框。但是未取消选中3个复选框。
< asp:CheckBox ID = chkIncluderunat =serverEnableViewState =true>
我尝试过:
Hi Friends,
I am using VS 2013,Javascript.
I have a gridview with 4 checkbox.When I check on first checkbox,other 3 checkboxes are checked.But when I uncheck the first check box,other 3 checkboxes should be unchecked.But unchecking of 3 checkboxes are not coming .
<asp:CheckBox ID="chkInclude" runat="server" EnableViewState="true" >
What I have tried:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chkInclude = (CheckBox)e.Row.FindControl("chkInclude");
CheckBox chkCreate = (CheckBox)e.Row.FindControl("chkCreate");
CheckBox chkChange = (CheckBox)e.Row.FindControl("chkChange");
CheckBox chkDelete = (CheckBox)e.Row.FindControl("chkDelete");
chkInclude.Attributes.Add("OnClick", "checkAllCheckBoxTrue(document.getElementById('" + chkInclude.ClientID + "'),document.getElementById('" + chkCreate.ClientID + "'),document.getElementById('" + chkChange.ClientID + "'),document.getElementById('" + chkDelete.ClientID + "'),document.getElementById('" + GridView1.ClientID + "'))");
}
}<pre lang="Javascript"><pre>function checkAllCheckBoxTrue(viewid, createid, changeid, deleteid, grid) {
for (i = 1; i < grid.rows.length; i++) {
id1 = grid.rows[i].cells[3].childNodes[0];
if (id1.checked = false)
{
createid = grid.rows[i].cells[4].childNodes[0]; // get
changeid = grid.rows[i].cells[5].childNodes[0]; // get
deleteid = grid.rows[i].cells[6].childNodes[0]; // get
createid.checked = false;
changeid.checked = false;
deleteid.checked = false;
}
else if (id1.checked = true) {
createid.checked = true;
changeid.checked = true;
deleteid.checked = true;
createid.disabled = false;
changeid.disabled = false;
deleteid.disabled = false;
}
}
}
推荐答案
写完整检查处理作为包含复选框的处理程序。
在您的函数中必须将比较更正为==
Write the complete check handling as handler of the include checkbox.
In your function must must correct the comparison to "=="
I认为你应该这样做,这样你就不会使用负面比较。另外,请注意我在代码设置复选框之前已经移动了启用了复选框的代码来检查。
if(id1.checked)
{
createid.disabled = false;
changeid.disabled = false;
deleteid.disabled = false;
createid.checked = true;
changeid.checked = true;
deleteid.checked = true;
}
其他
{
createid = grid.rows [i] .cells [4 ] .childNodes [0]; // get
changeid = grid.rows [i] .cells [5] .childNodes [0]; // get
deleteid = grid.rows [i] .cells [6] .childNodes [0]; //得到
createid.checked = false;
changeid.checked = false;
deleteid.checked = false;
}
I think you should simply do this, so that your are not using negative comparison. Also, notice that I have moved your code which is enabling check boxes before the code setting checkboxes to checked.
if (id1.checked)
{
createid.disabled = false;
changeid.disabled = false;
deleteid.disabled = false;
createid.checked = true;
changeid.checked = true;
deleteid.checked = true;
}
else
{
createid = grid.rows[i].cells[4].childNodes[0]; // get
changeid = grid.rows[i].cells[5].childNodes[0]; // get
deleteid = grid.rows[i].cells[6].childNodes[0]; // get
createid.checked = false;
changeid.checked = false;
deleteid.checked = false;
}
这篇关于取消选中3个复选框即将到来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文