george@12 Ответов: 2

Снятие 3-х флажков не идет


Привет Друзья,

Я использую VS 2013, Javascript.
У меня есть gridview с 4 флажками.Когда я ставлю галочку на первом флажке,другие 3 флажка проверяются.Но когда я снимаю первый флажок, другие 3 флажка должны быть сняты.Но снятие 3-х флажков не идет .
&ЛТ;АСП:чекбокс с ID="chkInclude" атрибут runat="сервер" EnableViewState="правда" и GT;

Что я уже пробовал:

 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;
           
        }
    }
   
}

F-ES Sitecore

если (типа id1.проверено = ложь)
если (типа id1.проверено = истина)

Используйте "= = "для сравнения и" = " для назначения. Измените их на

if (id1. checked = = false)
if (id1. checked = = true)

В вашем коде могут быть и другие проблемы, я еще не пробовал

2 Ответов

Рейтинг:
2

KarstenK

Запишите полную обработку проверки в качестве обработчика флажка include.

В вашей функции должно быть исправлено сравнение с "=="


Рейтинг:
2

Atlapure Ambrish

Я думаю, что вы должны просто сделать это, чтобы вы не использовали отрицательное сравнение. Кроме того, обратите внимание, что я переместил ваш код, который включает флажки перед установкой флажков кода в checked.

если (типа id1.проверено)
{
createid.отменено = ложь;
changeid.отменено = ложь;
deleteid.отменено = ложь;

createid.проверено = истина;
changeid.проверено = истина;
deleteid.проверено = истина;

}
еще
{
createid = сетки.строки[я].клеток[4].childNodes[0]; // получаем
changeid = сетки.строки[я].клеток[5].childNodes[0]; // получаем
deleteid = сетки.строки[я].клеток[6].childNodes[0]; // получаем

createid.проверено = ложь;
changeid.проверено = ложь;
deleteid.проверено = ложь;
}