我一直在寻找一种方法来制作一个单选按钮网格,其中#34;互相排斥"它们的特征在两个方向上起作用。我们的想法是只允许选择特定行中的所有按钮 - 但也只允许选择特定列中的所有按钮中的一个。
我实际上已经回答了我自己的问题,但我想我会在这里发布,因为我自己没有找到问题,而且看起来它通常很有用。
答案 0 :(得分:1)
这是fiddle演示我的解决方案。
它的基本要点是在一个方向上使用普通的单选按钮技术,例如水平,并使用安排选择器匹配另一个方向的整个列 - 我使用了一个CSS类。
然后,点击后,取消选中整个列,然后再选中this
。
HTML:
<input class=one type=radio name=foo value=1/>
<input class=two type=radio name=foo value=2/>
<input class=three type=radio name=foo value=3/>
<br/>
<input class=one type=radio name=bar value=1/>
<input class=two type=radio name=bar value=2/>
<input class=three type=radio name=bar value=3/>
<br/>
<input class=one type=radio name=car value=1/>
<input class=two type=radio name=car value=2/>
<input class=three type=radio name=car value=3/>
<br/>
jquery的:
$('input').on 'click', ->
ele=$(this)
myClass=ele.attr('class')
$('input.'+myClass).attr('checked',false)
ele.attr('checked',true)