2016-11-16 6 views
0

name="check_yes[]"のチェックボックスをオンにした後、name="check_no[]"でチェックボックスを無効にするにはどうすればよいですか?アレイ内の別のチェックボックスをオンにした後にチェックボックスを無効にする方法

<tr> 
    <td colspan="" width="6%"> 
    <center> 
     <input type="checkbox" name="check_yes[]" value="yes"> 
    </center> 
    </td> 
    <td colspan="" width="6%"> 
    <center> 
     <input type="checkbox" name="check_no[]" value="no"> 
    </center> 
    </td> 
</tr> 
+1

に動作します希望はスタックオーバーフローへようこそ! [ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

答えて

0

あなたは隣の子のチェックボックスを取得するためにclosest()find()の組み合わせを使用して、prop()を使用してそれを無効にし、このようなものができます。これは

$('table :checkbox').change(function() { 
 
    $(this).closest('tr').find(':checkbox').not(this).prop('disabled', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td colspan="" width="6%"> 
 
     <center> 
 
     <input type="checkbox" name="check_yes[]" value="yes"> 
 
     </center> 
 
    </td> 
 
    <td colspan="" width="6%"> 
 
     <center> 
 
     <input type="checkbox" name="check_no[]" value="no"> 
 
     </center> 
 
    </td> 
 
    </tr> 
 
</table>

+0

これはテーブルの1行目でのみ動作しますが、後続の行はどうですか? –

+0

これはどんな行でも動作します –

0
$("table [name='check_yes[]']").change(function() { 
    if($(this).is(":checked")) { 
     $("[name='check_no[]']").prop('disabled', true); 
    } 
}); 

check_yes []を待ち受け、他のすべてのcheck_no []を無効にします電子それはあなたのhtmlコードに

0
function enab1() { 
document.getElementById("check_no").disabled = true; 
} 
function enab2() { 
document.getElementById("check_yes").disabled = true; 
} 

を確認した場合

<input type="checkbox" name="check_yes[]" value="yes" onclick="enab1()"> 
<input type="checkbox" name="check_no[]" value="yes" onclick="enab2()"> 

この意志は

関連する問題