Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 单击文本以选择相应的单选按钮_Html_Css_Forms_Input_Radio Button - Fatal编程技术网

Html 单击文本以选择相应的单选按钮

Html 单击文本以选择相应的单选按钮,html,css,forms,input,radio-button,Html,Css,Forms,Input,Radio Button,我正在使用PHP创建一个测验web应用程序。每个问题由一个单独的组成,并有4个可能的选择,使用单选按钮允许用户选择他/她的答案。单个问题的当前HTML如下所示: <label for="349">What is my middle name?</label> <br> <input id="349" type="radio" value="1" name="349">Abe <br> <input id="349" type="r

我正在使用PHP创建一个测验web应用程序。每个问题由一个单独的
组成,并有4个可能的选择,使用
单选按钮
允许用户选择他/她的答案。单个问题的当前HTML如下所示:

<label for="349">What is my middle name?</label>
<br>
<input id="349" type="radio" value="1" name="349">Abe
<br>
<input id="349" type="radio" value="2" name="349">Andrew
<br>
<input id="349" type="radio" value="3" name="349">Andre
<br>
<input id="349" type="radio" value="4" name="349">Anderson
<br>
我的中间名是什么?

阿贝
安得烈
安德烈
安德森
我希望用户可以选择单击与单选按钮相关的文本。现在,用户只能单击单选按钮本身-我发现这是一项相当繁琐的任务

我读了,建议指向使标签的
id
属性匹配。我已经这样做了,但仍然不起作用


我的问题是:我希望能够单击
对象的文本,而不是只能选择单选按钮本身。
我知道我以前读过这方面的内容,但似乎找不到任何解决问题的方法。非常感谢您的任何帮助或建议

在代码中,表单本身有一个标签。您希望在每个单独的无线电组上放置标签,如下所示


我的中间名是什么


阿贝
安得烈
安德烈
安德森

标签标签应围绕每个答案,例如围绕Abe、Andrew等。。。而且每个按钮都必须是唯一的。

如果按照Nathan的回答操作,单选按钮和标签之间似乎有一点不可读取的空间。以下是如何使它们无缝连接(请参阅):


我的中间名是什么


阿贝
安得烈
安德烈
安德森

你可以这样做

 <label for="1">hi</label>
 <input type="radio" id="1" />
hi
因此,如果单击文本或标签,它将选择单选按钮。 但是如果你这样做

<label for="1">//</label>
//

将此添加到我之前编写的代码中,然后如果单击第二个标签,它也会选择单选按钮。

将输入标签嵌套在标签标签中,确保标签正好显示在单选按钮旁边。使用前面建议的方法,您可以将标签标记放在html文件中的任何位置,单击时它将选择相关的单选按钮。看看这个:


我的中间名是什么



安得烈

安德森

这是一段

Abe
安德烈
多年来我一直在这样做,但这两种方法都不适用于我,使用变量

    echo "<input type='radio' name='student' id='$studentID' value='$studentID'>
        <label for='$studentID'>$fname</label> $lname<br />\n";
    echo "<input type='radio' name='student' id='$studentID' value='$studentID'>
        <label for='$studentID'>$fname $lname</label><br />\n";
echo”
$fname$lname
\n”; 回声“ $fname$lname
\n”;
以下是资料来源:

        <input type='radio' name='student' id='986875' value='986875'>
        <label for='986875'>John</label> Brown<br />

约翰·布朗

非常简单。喜欢当标签的一个几乎隐藏的特征被重新发现时我更喜欢这个答案。但是你确定用这种方法你甚至需要“for”属性吗?@Piddu:我想你是对的,所以我更新了我的答案。谢谢另一个避免单选按钮和标签之间的额外空间的选择是,不要将其放在那里(标签之间没有空格或换行符)。我刚刚在chrome和firefox中测试了我的方法,发现它通过删除空格字符将不可点击的空间从7像素减少到3像素。看见剩下的三个像素是单选按钮
margin:3px 3px 0 5px上的默认右边距
(在firefox中更为明显,因为默认情况下存在悬停效果),可以通过CSS删除边距并用填充替换来修复该效果。@Aryedovidelman:我明白了,感谢您的调查!虽然为了简单起见,我会坚持把整个东西都放在标签里
        <input type='radio' name='student' id='986875' value='986875'>
        <label for='986875'>John</label> Brown<br />