2010-10-28 45 views
0

所以我有這樣的結構如果至少有一個按鈕有效,我只能使按鈕處於活動狀態?

<div class="accordionContent"> 
<form action="/make_requests" class="make_request" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" /></div>               
<tr> 
    <td>Enter Sandman</td> 
    <td>2</td> 

    <td class="money">$0.00</td> 
    <td>  
      <input class="yes_please" id="group_7,1,2_yes" name="group[7,1,2]" type="radio" value="yes" /> 
     Yes 
      <input checked="checked" id="group_7,1,2_no" name="group[7,1,2]" type="radio" value="no" /> 
     No 
    </td> 
<tr> 
    <td>Fade to Black</td> 
    <td>2</td> 
    <td class="money">$0.00</td> 
    <td>  
      <input class="yes_please" id="group_3,6_yes" name="group[3,6]" type="radio" value="yes" /> 
     Yes 
      <input checked="checked" id="group_3,6_no" name="group[3,6]" type="radio" value="no" /> 
     No 
    </td> 
</tr> 
    <tr><td><input id="make_requests" name="commit" type="submit" value="Add to Set" /></td><td><span class="band_notice">Set Added</span></td></tr> 
</form> 

我只需要做出啓用輸入,如果單選按鈕的至少一個是肯定的...任何想法如何做到這一點jQuery的

回答

1

添加disabled="disabled"到在HTML中的輸入,並添加這一塊的JS:

$('input[type=radio]').change(function() { 
    $('input[type=submit]').attr('disabled', true); 
    $('input[type=radio][value=yes]:checked').first().each(function() { 
     $('input[type=submit]').removeAttr('disabled'); 
    }); 
}); 
2
$("input:radio").change(function(){ 
    var checked = $("input:checked"); 
    if ($("input[value='yes']", checked).length > 0) 
     { $('#make_requests').attr('disabled',''); } 
    else 
     {$('#make_requests').attr('disabled','disabled');} 
}); 

這個函數綁定到所有的複選框的更改事件,得到所有的檢查輸入,然後計算具有值「是」的那些的數量。如果它大於0,則啓用提交按鈕,如果它更少則禁用。

1

這個工作對我來說...

<script type="text/javascript"> 
    $(function() { 
     $('input:radio').change(function() { 
      if($('.yes_please:checked').length) 
       $('#make_requests').removeAttr('disabled'); 
      else 
       $('#make_requests').attr('disabled', 'disabled'); 
     }); 
    }); 
</script> 
相關問題