2014-01-22 89 views
0

限制gridview行選擇我有我的webform中的文本框和gridview(複選框在Itemtemplate中)。 我的要求選擇gridview中的複選框必須基於文本框中給定的值進行限制,即如果文本框的值是10,那麼我只能夠在gridview中檢查10行。 任何人都可以給我javascrit這個或任何其他簡單的方法....在asp.net中使用c#.net

在此先感謝.. 我的代碼如下...

<script type="text/javascript" > 
    function CheckBoxCount() { 
     var gv = document.getElementById("<%= GridView1.ClientID %>"); 
     var inputList = gv.getElementsByTagName("input"); 
     var textboxcount = document.getElementById("<%=txtId.ClientID %>").value; 
     var numChecked = 0; 

     for (var i = 0; i < inputList.length; i++) 
     { 

      if (inputList[i].type == "checkbox" && inputList[i].checked) 
      { 
       alert(numChecked); 
       if (numChecked < textboxcount) 
       { 
        inp[i].checked = false; 
        alert(numChecked); 
       } 
       numChecked = numChecked + 1; 
      } 
     } 


    } 
</script> 

我想在JavaScript

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" > 

    <Columns> 
     <asp:TemplateField HeaderText="Select"> 
      <ItemTemplate > 


       <asp:CheckBox ID="chb" runat="server" AutoPostBack="true" onClick="CheckBoxCount()" /> 
      </ItemTemplate> 
     </asp:TemplateField> 


    </Columns> 

</asp:GridView> 

回答

0

我不能馬上給你JS,但試試這樣做。

把一個類上的文本框和複選框,然後:

<asp:CheckBox ID="chb" runat="server" AutoPostBack="true" onClick="CheckBoxCount()" CssClass="MyCheckBox" /> 

然後在JavaScript中增加一個功能複選框的onClick:

$('.MyCheckBox').onClick(function(){ 
    var $allCheckBoxes = $('#GridView1').find('.MyCheckBox'); 
    var checkedCheckBoxes = 0; 
    var allowedCheckBoxes = $('.NumberOfCheckBoxesClass').val(); 
    $allCheckBoxes.each(
     if($(this).Checked){ 
      checkedCheckBoxes++; 
     } 
    ); 

    if(checkedCheckBoxes > 10){ 
     $(this).disable; 
     AND SHOW SOME MESSAGE letting the user know. 
    } 
}); 

你顯然需要一些更多的方法禁用所有的 讓我知道你是否有任何問題。