Html 如何检查多个单选按钮,具有相同名称的单选按钮?

Html 如何检查多个单选按钮,具有相同名称的单选按钮?,html,radio-button,Html,Radio Button,我想检查多个单选按钮,所有单选按钮都有相同的名称,但ID不同 这是我的html代码 <span style="float:left;margin:0 0 0 10px">Proactivity</span> <label for="q11" style="width:auto;margin:0 60px 0 0;padding:0;"><input type="radio" id="qq[]" class="styled" value=

我想检查多个单选按钮,所有单选按钮都有相同的名称,但ID不同

这是我的html代码

 <span style="float:left;margin:0 0 0 10px">Proactivity</span>
        <label for="q11" style="width:auto;margin:0 60px 0 0;padding:0;"><input type="radio" id="qq[]" class="styled" value="Proactivity > Poor" name="q11[]">Poor</label>
        <label for="q11"  style="width:auto;margin:0 18px 0 0;padding:0;"><input type="radio" id="qqa[]" class="styled" value="Proactivity > Good" name="q11[]">Good</label>

        <br/><br/>
        <span style="float:left;margin:0 0 0 10px">Service/support</span>
        <label for="q11" style="width:auto;margin:0 60px 0 0;padding:0;"><input type="radio" id="qq[]" class="styled" value="Service/support > Poor" name="q11[]">Poor</label>
        <label for="q11"  style="width:auto;margin:0 18px 0 0;padding:0;"><input type="radio" id="qqa[]" class="styled" value="Service/support > Good" name="q11[]">Good</label>

        <br/><br/>
        <span style="float:left;margin:0 0 0 10px">Provision of <br />specialist skills</span>
        <label for="q11" style="width:auto;margin:0 60px 0 0;padding:0;"><input type="radio" id="qq[]" class="styled" value="Provision of specialist skills > Poor" name="q11[]">Poor</label>
        <label for="q11"  style="width:auto;margin:0 18px 0 0;padding:0;"><input type="radio" id="qqa[]" class="styled" value="Provision of specialist skills > Good" name="q11[]">Good</label>
Proactivity
贫穷的
好


服务/支持 贫穷的 好

提供专业技能 贫穷的 好
你不能。单选按钮用于单选。对于多项选择,您需要复选框。

使用单选按钮选择多项似乎违反了可用性规则。如果您这样做,您可以为它们提供不同的名称


PS:您应该为每个单选按钮提供一个外部样式表。如果您想稍后进行调整,那就太好了。

当您对所有无线电输入使用相同的名称时,它们都属于一组。它不允许你单独行动


您必须为每个单选按钮组使用不同的名称

将您的单选按钮包装在表单标签中将允许具有相同名称的单选按钮组彼此独立运行

但是,看看您正在尝试做什么,您更适合更改每个逻辑问题的输入名称,因为您使用的是看起来像单个表单的内容

因此,对于主动性问题输入,您可能可以将
name=“q11[]”更改为
name=“q11[主动性]”
;对于服务问题输入,您可以将
name=“q11[服务]”
更改为
name=“q11[供应]”


这样做将允许从这些输入中选择的所有响应保留在服务器端的q11字段中,然后您可以根据需要对数据进行按摩(我假设q11代表“问题11”或其他内容,这就是为什么您对所有这些输入保持相同名称的原因)。

它可以工作,请按照链接进行操作

http://jsfiddle.net/Cwalkdawg/3CxLD/2/
既然您坚持使用收音机,我就使用jQuery库来获取您的值。您可以向收音机添加一个类,它将允许您选择该类并对其进行迭代。这是违反直觉和肮脏的,但它会工作。此标记:

<input type="radio" class="rad" name="None" value="--" />None
<br />
<input type="radio" class="rad" name="Item1" value="Item1" />Item1
<br />
<input type="radio" class="rad" name="Item2" value="Item2" />Item2
<br />
<input type="radio" class="rad" name="Item3" value="Item3" />Item3
<br />
<input type="radio" class="rad" name="Item4" value="Item4" />Item4
<br />
在fiddle中,我也添加了复选框,只是为了向您展示它有多容易,即以下标记(读起来更容易,也没有那么模糊):

您不能取消选择单选按钮,除非您希望使用重置元素(重置整个表单)或仅为收音机创建自定义函数(清除所有选项)来取消选择所有单选按钮

取消选择可以路由到您的name=None单选按钮,其代码如下:

$(".rad[name=None]").click(function() {
    $(".rad").removeAttr("checked");
});
您还可以在名称数组中放入一个数字(如果使用js,则为计数器),如下所示:

主动性:

服务/支持:

提供专业技能:

我使用复选框,但当我单击“好”时,应取消选中“差”,然后使用单选框,并且每个“单选框组”需要具有相同的唯一名称。另一组广播框需要有一个不同的名称。但当我需要相同的名称在数据库中插入值时,您就搞错了。我已经告诉过你它的工作方式,你必须调整你的服务器端。你不能有多个具有相同ID的元素,所有ID必须是唯一的。所有这些
id=“qq[]”
id=“qqa[]”
都需要更改。更不用说指向同一元素的标签了。这样做将允许从这些输入中选择的所有响应保留在服务器端的q11字段中。我尝试过这样做,但不幸的是,这不是真的。当您为单选按钮组命名时,
name=“q11[proactivity]”和
name=“q11[service]”
它们在服务器端作为单独的字段接收(而不是q11[]数组),OP要求使用“相同名称”的单选按钮。
<input name="choices" type="checkbox" value="something1" />Option 1
<br />
<input name="choices" type="checkbox" value="something2" />Option 2
<br />
<input name="choices" type="checkbox" value="something3" />Option 3
<br />
<input name="choices" type="checkbox" value="something4" />Option 4
<br />
$("#button").click(function () {
    //Check boxes
    $("input:checkbox[name=choices]:checked").each(function() {
        console.log("Checkbox: " + $(this).val());
    });
});
$(".rad[name=None]").click(function() {
    $(".rad").removeAttr("checked");
});