2016-11-08 53 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