是否可以创建一个二维单选按钮组?

时间:2014-07-11 10:00:26

标签: html forms radio-button

我有三组数据(dataXdataYdataZ),每个数据应从可能的三个中分配一个不同的值(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> (例如)只能分配给一个值。但是,它不会阻止将更多数据分配到相同的值(例如dataXdataXdataY都可以分配给dataZ

有没有办法制作一个能够提供所需功能的二维单选按钮?或者我是否需要诉诸javascript?

1 个答案:

答案 0 :(得分:1)

在HTML中是不可能的,因为单选按钮用作简单集(定义为具有相同name属性的单选按钮作为一个功能集)。根据其他集合中的选择,无法在一个集合中进行选择。

在JavaScript中,您可以通过多种方式处理此问题。例如,您可以在第一个集合中进行选择,在其他集合中禁用相同的选项,在其上设置disabled属性并使其标签变灰。

您还可以使用一组可见项(A,B,C)和可以拖放它们的框(X,Y,Z)。这可能意味着更好的可用性,但HTML5拖放API可能还没有足够的跨浏览器。