2016-11-08 5 views
-6
<div class="error-message"></div> 

<form id="satisfaction" onsubmit="return validateInput()"> 
    <input type="radio" name="satisfied" value="yes" required /> Satisfied 
<input type="checkbox" name="donate" /> Donate<br /> 
<input type="radio" name="satisfied" value="no" required /> Not satisfied 
    <input type="text" name="reason" /> Reason<br /> 
    <input type="submit" value="Submit" /> 
    </form> 
    <script> 

JQuery:кнопку условно включить с JQuery

$('input[name="donate"]').attr('disabled', 'true'); 

$(document).ready(function() { 
$('input[name="satisfied"]').click(function(){ 

    $('input[name="donate"]').removeAttr("disabled"); 

});}); 

Как я могу написать код в JQuery, который позволяет пользователю проверить кнопку «Пожертвовать», если и только если кнопка «удовлетворен» проверяется?

+1

Добавить, что вы пробовали до сих пор на ваш вопрос! –

+0

Используйте '' $ .prop'' (http://api.jquery.com/prop/) вместо '$ .attr'. –

ответ

0

Старт с входом жертвуют отключены

<input type="radio" name="satisfied" value="yes" required /> Satisfied 
<input type="checkbox" name="donate" disabled="disabled"/> Donate<br /> 
<input type="radio" name="satisfied" value="no" required /> Not satisfied 

Используя change событие, вы можете включить опцию, если пользователь выбирает «удовлетворены», в противном случае вывести его из строя.

$(document).on('ready', function(){ 
    $('input[name="satisfied"]').on('change', function(){ 
     var val = $('input[name="satisfied"]:checked').val(); //either 'yes' or 'no' 
     var $donate = $('input[name="donate"]'); //this is the donate input 
     if(val == 'yes') 
      $donate.prop('disabled', false); 
     else 
      $donate.prop('disabled', true); 
    }); 
}); 
1

Вам нужно сделать что-то вроде этого

$('input[name="donate"]').attr('disabled', true); 

$(document).ready(function() { 
    $('input[name="satisfied"]').on('change', function() { 
    if ($('input[name="satisfied"]:checked').val() == 'yes') 
     $('input[name="donate"]').removeAttr("disabled"); 
    else 
     $('input[name="donate"]').attr('disabled', true); 
    }); 
}); 

Вот скрипка: https://jsfiddle.net/6syhqzf9/

+2

Я считаю, что наилучшей практикой является использование '.prop' для включения/отключения входов – Sharlike

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