2017-01-31 4 views
0

То, что я пытаюсь сделать, когда выбрано $('input:radio[name="NeverWornRespbefore"]'), я хочу удалить требуемый атрибут из группы радио $('input:radio[name="eyeIrritation"]').JQuery .removeAttr ('required') не работает для группы входных радиостанций

Мой вопрос: Как получилось, что .removeAttr('required') или любые другие из прокомментированных разделов в коде не удалят требуемый тег? Как я могу заставить это работать?

Спасибо.

<script> 
//If user presses number 8 these radios don't have to be required 
jQuery(document).ready(function() { 

    $('input:radio[name="NeverWornRespbefore"]').change(function() { 
     if ($(this).val() == 'Yes Never Worn one before') { 

      console.log("triggered"); 
      //$('input:radio[name="eyeIrritation"]').removeAttr('required');​​​​​ 
      //$('.eyeIrritation').each().attr("required", "false"); 
      $('.eyeIrritation').removeAttr('required'); 
      console.log($('input#eyeIrritation')); 
     } 
    }); 

}); 

ЗДЕСЬ мой cshtml:

<tr> 
        <td><label class="col-xs-12 col-sm-6 col-md-8 control-label" for="employeeName">8. If you've used a respirator, have you ever had any of the following problems? </label><be><label class="col-xs-12 col-sm-6 col-md-8 control-label" for="employeeName">(If you've never used a respirator, check the following checkbox @Html.RadioButtonFor(m => m.NeverWornRespbefore, "Yes Never Worn one before", new { Value = "Yes Never Worn one before" }) and go to question 9)</label></td> 
        <td>Yes</td> 
        <td>No</td> 
       </tr> 
       <tr> 
        <td><label class="col-xs-12 col-sm-6 col-md-8 control-label" for="employeeName">a. eye irritation:</label></td> 
        <td>@Html.RadioButtonFor(m => m.eyeIrritation, "Yes", new { Value = "YES" , required = "true"})</td> 
        <td>@Html.RadioButtonFor(m => m.eyeIrritation, "No", new { Value = "NO" , required = "true"})</td> 
       </tr> 

ЗДЕСЬ МОЙ ЗАВЕРШЕНА КОД С ОТВЕТА найдено из КОММЕНТАРИЕВ

<script> 
//If user presses number 8 these radios don't have to be required 
jQuery(document).ready(function() { 

    $('input:radio[name="NeverWornRespbefore"]').change(function() { 
     if ($(this).val() == 'Yes Never Worn one before') { 

      console.log("Number never worn resp triggered"); 

      $('input[name="eyeIrritation"]').removeAttr('required'); 
     } 
    }); 

}); 

У меня был неправильный селектор для группы радио.

+0

'$ ('input: radio [name =" eyeIrritation "]')' или '$ ('. EyeIrritation')' - не могли бы вы поделиться своим HTML, пожалуйста? –

+4

Возможный дубликат [Как установить атрибут HTML5 в Javascript?] (Http://stackoverflow.com/questions/18770369/how-to-set-html5-required-attribute-in-javascript) – Pineda

+0

Это должно ответить на ваш вопрос : http://stackoverflow.com/a/18774169/2902660 – Pineda

ответ

1

Ваш селектор является неправильным. Попробуйте $('input[name="eyeIrritation"]').removeAttr('required');

1

Как насчет

.prop('required', false); 

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

  • Нет связанных вопросов^_^