2013-10-08 2 views
-1

У меня есть сетка с двумя столбцами флажков. Один для выбора, а другой для настройки свойства, например, «добавить в избранное». Это gridview загружает код позади, и флажки определены внутри шаблона элемента. Проблема в том, что не очень удобно, чтобы кто-то проверил два поля для одной и той же строки, когда они могли просто выбрать «добавить в избранное», и это также должно автоматически проверять флажок выбора. Я понимаю, что это можно легко сделать с помощью jquery, поскольку я не думаю, что сделать обратную передачу для этих выборов - это хороший пользовательский интерфейс. Я очень новичок в jquery, поэтому любая помощь будет оценена по достоинству.Установите флажок gridview с помощью jquery

Флажки в одной строке соответствуют тому же соглашению для id, поэтому, если выбран cbSelect_0, другой будет cbfavorite_0. Я также дал все cbFavorite Флажки тот же класс «cbMul», а затем я написал функцию

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

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

}); }

Теперь я не понимаю, как получить атрибуты флажка, который был отмечен, заменить имя и установить идентификатор флажка, если выбрать, а затем проверить его?

Вот 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.

Смежные вопросы