我有三组数据(dataX
,dataY
,dataZ
),每个数据应从可能的三个中分配一个不同的值(valueA
,{{ 1}},valueB
)。必须将每个数据分配给一个值,并且必须为每个值分配一个数据。
我希望使用一组单选按钮来执行此操作:
valueC
(http://jsbin.com/todoseyu/1/)
这可确保dataX: <label><input type="radio" name="dataX" value="valueA">valueA</label>
<label><input type="radio" name="dataX" value="valueB">valueB</label>
<label><input type="radio" name="dataX" value="valueC">valueC</label><br>
dataY: <label><input type="radio" name="dataY" value="valueA">valueA</label>
<label><input type="radio" name="dataY" value="valueB">valueB</label>
<label><input type="radio" name="dataY" value="valueC">valueC</label><br>
dataZ: <label><input type="radio" name="dataZ" value="valueA">valueA</label>
<label><input type="radio" name="dataZ" value="valueB">valueB</label>
<label><input type="radio" name="dataZ" value="valueC">valueC</label>
(例如)只能分配给一个值。但是,它不会阻止将更多数据分配到相同的值(例如dataX
,dataX
和dataY
都可以分配给dataZ
。
有没有办法制作一个能够提供所需功能的二维单选按钮?或者我是否需要诉诸javascript?
答案 0 :(得分:1)
在HTML中是不可能的,因为单选按钮用作简单集(定义为具有相同name
属性的单选按钮作为一个功能集)。根据其他集合中的选择,无法在一个集合中进行选择。
在JavaScript中,您可以通过多种方式处理此问题。例如,您可以在第一个集合中进行选择,在其他集合中禁用相同的选项,在其上设置disabled
属性并使其标签变灰。
您还可以使用一组可见项(A,B,C)和可以拖放它们的框(X,Y,Z)。这可能意味着更好的可用性,但HTML5拖放API可能还没有足够的跨浏览器。