2013-05-26 5 views
3

Это приложение MVC 3, использующее механизм просмотра бритвы. У меня есть следующая строка кода в представлении, которое отображает 2 флажка. Когда один из них установлен, другой флажок следует снять. Я искал вокруг и между моим отсутствием exp с javascript и отсутствием потоков, найденных в google, связанных с этим, я нахожусь в состоянии потерять даже фрагмент кода javascript для использования для стоящей отправной точки. Есть идеи?? Это ниже, что я закодировал сам по себе, но я больше застрял, чем что-либо с этим.Javascript для снятия отметки с флажка, если другой флажок установлен

 $("#isStaffCheckBox").change(
       function (e) { 
        var checked = $(this).attr('checked'); 
        if(checked) 
        { 

    <li>Staff Member: @Html.CheckBoxFor(Function(f) f.isStaff, New With {.id = "isStaffCheckBox"}) Board Member: @Html.CheckBoxFor(Function(f) f.boardMember, New With {.id = "isBoardCheckBox"})</li> 

Любая помощь очень ценится ..

+2

Почему вы изобретаете переключатель? – epascarello

+0

Насколько я знаю, в рации или флажках просмотра бритвы по-прежнему нужен javascript для обработки события щелчка, чтобы снять отметку с другого. – Skindeep2366

+1

Зачем нужна радиотекст JavaScript? Дайте им одно и то же имя, и они волшебным образом снимут отметку. – epascarello

ответ

4

Если есть какая-то причина для этого, чтобы быть чекбокс вместо кнопки радио, то следующий код должен это делать.

$("#isStaffCheckBox").change(
      function (e) { 
       $("#isBoardCheckBox").prop('checked',!this.checked); 
      } 
    }); 
0

// Если вы используете JQuery версии 1.6.4 или ниже использования «ATTR», если вы используете более высокие версии (1.9 или выше) использовать «подпирать» вместо ATTR.

Код: "проп.

<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Checkbox</title> 
     <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $(":checkbox").change(function() { 
        $("input:checkbox").attr("checked", false); 
        $(this).attr("checked", "checked"); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <input type="checkbox" id="chk1" value="1" /> Staff Member <br/> 
     <input type ="checkbox" id="chk2" value="2" /> Board Member 
    </body> 
</html> 

Пожалуйста, посмотрите на эту ссылку JsFiddle my code

+0

Этот флажок не используется для просмотра Razor view .. Для этого используется стиль asp.net, который не будет работать так же, как для синтаксиса Razor. – Skindeep2366

2

Измените свойство "(" #isBoardCheckBox)" на "(" #isBoardCheckBox ") атр ».

Прекрасно работает!

$("#isStaffCheckBox").change(
    function (e) { 
     $("#isBoardCheckBox").attr("checked", !this.checked); 
    }) 
Смежные вопросы