2013-10-08 18 views
-1

我有一個gridview和兩個複選框列。一個是選擇,另一個是設置屬性,如「添加到最愛」。這個gridview被加載後面的代碼,複選框在Item Template中定義。問題在於,如果有人在同一行中選中兩個框,並且他們可能剛剛選擇了「添加到收藏夾」,並且它也會自動檢查選擇複選框,這並不是非常方便用戶。我知道這可以很容易地使用jQuery來完成,因爲我不認爲爲這些選擇做回傳是一種很好的用戶體驗。我對jquery很新,所以任何幫助,將不勝感激。使用jquery檢查一個gridview的複選框

同一行上的複選框遵循相同的id約定,所以如果select爲cbSelect_0,則另一個爲cbfavorite_0。我也給所有的cbFavorite檢查框同一類「cbMul」,然後我寫了一個函數

function checkUncheck() { 
$(".cbMul").checked(function() { 

if ($(this).attr('checked')) { 
    $('#myCheckbox').attr('checked', false); 
} else { 
    $('#myCheckbox').attr('checked', 'checked'); 
} 

}); }

現在,我不明白如何獲取已選中的複選框的屬性,替換名稱並獲取複選框的ID(如果選中並檢查該複選框)?

這裏是在GridView:

<asp:GridView ID="gvEnvironments" EmptyDataText="--- No Data ---" runat="server" AutoGenerateColumns="false" 
DataKeyNames="Id" > 
<Columns> 
    <asp:TemplateField HeaderText="Select"> 
     <ItemTemplate> 
      <asp:CheckBox ID="cbSelectEnvironments" runat="server" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField DataField="Id" HeaderText="ID" InsertVisible="false" ReadOnly="true" SortExpression="Id" /> 
    <asp:TemplateField HeaderText="Multi"> 
     <ItemTemplate> 
      <asp:CheckBox ID="cbFav" runat="server" Checked="false" CssClass="cbMul" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> 
    <asp:BoundField DataField="Description" HeaderText="Description" HeaderStyle-Width="300px" SortExpression="Description" /> 

</Columns>                 

+0

嘗試一些東西,並給我們一些代碼.. –

+0

可能的重複[如何檢查複選框與jQuery?](http://stackoverflow.com/questions/426258/how-do-i-check-a- checkbox-with-jquery) –

+0

代碼示例和你所做的事情會有所幫助。 – Dimo

回答

0

這裏是一個小提琴:http://jsfiddle.net/FyDEk/

HTML:

<table> 
    <tr> 
     <td> 
      <input class="cb1" type="checkbox" /> 
     </td> 
     <td> 
      <div id="dd">text</div> 
     </td> 
     <td> 
      <input class="cb2" type="checkbox" /> 
     </td> 
    </tr> 
</table> 

JS:

$(function() {  
    $(".cb2").on("change", function() { 
     var cb = $(this), 
      cbIsChecked = cb.is(":checked"), 
      cbPrev = cb.parent().parent().find(".cb1"); 

     if(cbIsChecked) 
      cbPrev.prop("checked", true); 
     else 
      cbPrev.prop("checked", false); 
    });  
}); 

將相應的類添加到您的CheckBoxes。