0

優先度番号でグループ化されたチェックボックスのリストがあり、ユーザーが異なる優先度グループから複数のチェックボックスを選択できるようにしたいのですが、それぞれから1つだけです。

<input type='checkbox' value='1' name='priority[]'  />first choice in priority 1 group<br>
<input type='checkbox' value='2' name='priority[]'  /> second choice in priority 1 group <br>
<input type='checkbox' value='3' name='priority[]'  /> third choice in priority 1 group <br>
<input type='checkbox' value='4' name='priority[]'  /> first choice in priority 2 group <br>
<input type='checkbox' value='5' name='priority[]'  /> second choice in priority 2 group <br>
<input type='checkbox' value='6' name='priority[]'  /> third choice in priority 2 group <br>

したがって、上記の例では、ユーザーは異なる優先度グループにあるため1と5を選択できますが、同じ優先度グループにあるため1と2は選択できません。

そのため、JavaScriptを使用して、グループ内の他のチェックボックスをオンにしたときに無効にすることを考えていました。たとえば、1を選択すると、2と3は無効になりますが、4、5、6は無効になります。

jQueryのライブラリに何かがあるかどうかを探していましたが、何も表示されません。idまたはtabindexを使用してチェックボックスをグループ化し、その方法で無効にすることができるかどうか疑問に思っていましたが、これまでのところ運がありません。データベーステーブルから動的に生成されるので、必要に応じて並べ替えたり、divを追加したりできます。誰か助けてもらえますか?

乾杯

マイク

4

1 に答える 1

0

1.これはどうですか:

$('.check').change(function() {
    var group = $(this).data('priority');
    $('.check[data-priority="' + group + '"]').not(this).prop('disabled', this.checked);
})​;

デモhttp://jsfiddle.net/dfsq/Qvhxp/1/

2. チェックボックスの代わりにラジオ ボタンを使用することをお勧めします (必要に応じて、-webkit-appearance、-moz-appearance を適用します)。

于 2012-10-25T12:09:18.833 に答える