2016-12-30 56 views
0

我有一个全选脚本,用于选择所有启用和禁用框的Grid,我希望脚本只选择网格上启用的复选框并放弃禁用的复选框。选择所有复选框在Gridview中启用boxex

尝试了不同的方法,但都没有工作。 这里是我的Java脚本:

<script type="text/javascript" language="javascript"> 

function CheckAllPaid(Checkbox) { 
    var GridVwHeaderChckbox = document.getElementById("<%=dg.ClientID%>"); 
    for (i = 1; i < GridVwHeaderChckbox.rows.length; i++) { 
      GridVwHeaderChckbox.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = Checkbox.checked ; 
     } 
    } 

</script> 

enter image description here

回答

1

您可以使用选择。这会给你在该网格面板内的所有检查输入。

编辑:

<script type="text/javascript" language="javascript"> 

function CheckAllPaid(Checkbox) { 
var GridVwHeaderChckbox = document.getElementById("<%=dg.ClientID%>"); 
var checked = GridVwHeaderChckbox.querySelectorAll('input[type=checkbox]').filter(function(input){ 
    if(!input.disabled){ 
     input.checked = true; 
     return true; 
    }else{ 
     return false; 
    } 
}); 


</script> 
+0

你能写出完整的脚本吗? –

+0

我编辑了答案。 – abeyaz

+0

这仍然选择禁用的复选框,请求只选择网格内的启用复选框。 –

0

这个片段将工作。它循环所有复选框在GridView和检查/取消选中它们基于is_checked或评估其状态等

<script type="text/javascript"> 
    function changeAllCheckBoxes(is_checked) { 
     $("#<%= GridView1.ClientID %> tr").each(function() { 
      $(this).find("td input:checkbox").each(function (index, element) { 
       this.checked = is_checked; 
       //or 
       if (this.checked) { 
        //do stuff 
       } 
      }); 
     }); 
    } 
</script> 

或者如果你想在一个特定的列中的所有复选框选中/取消,沿列索引发送。

<script type="text/javascript"> 
    function changeAllCheckBoxes(is_checked, columnIndex) { 
     $("#<%= GridView1.ClientID %> tr").each(function() { 
      $(this).find("td input:checkbox").each(function (index, element) { 
       if (index == columnIndex) { 
        this.checked = is_checked; 
       } 
      }); 
     }); 
    } 
</script> 
0
<input disabled="disabled" class="YourCheckBoxClacc" type="checkbox" value="10" /> 
<input class="YourCheckBoxClacc" type="checkbox" value="30" /> 

JQuery的:

$('.YourCheckBoxClacc:enabled:checked') 

这将设置Checked只对启用复选框。