Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Javascript 通过使用jQuery单击标签立即获取单选按钮_Javascript_Jquery - Fatal编程技术网

Javascript 通过使用jQuery单击标签立即获取单选按钮

Javascript 通过使用jQuery单击标签立即获取单选按钮,javascript,jquery,Javascript,Jquery,我有一些单选按钮的样式是隐藏的,标签是可见的,样式是我想要的 问题是,当我单击标签时,第一次单击时没有获得单选按钮的值 如果你看这里,你就会明白我的意思: 有没有办法在第一次单击时获取值 回答- 感谢asawyer和blocco-你好:您的JSFIDLE不会发出任何警报,请参见此处的正确演示:&谢谢锯木匠: 请让我知道进展如何&希望这有帮助,:) Jquery代码 $(".label_size").click(function() { alert(' clicked value =' +

我有一些单选按钮的样式是隐藏的,标签是可见的,样式是我想要的

问题是,当我单击标签时,第一次单击时没有获得单选按钮的值

如果你看这里,你就会明白我的意思:

有没有办法在第一次单击时获取值

回答-
感谢asawyer和blocco-

你好:您的JSFIDLE不会发出任何警报,请参见此处的正确演示:&谢谢锯木匠:

请让我知道进展如何&希望这有帮助,:)

Jquery代码

$(".label_size").click(function()
{
   alert(' clicked value =' + $(this).text());
   alert(' correspong value =' + $('#'+$(this).attr('for')).val());
   alert("D");
});

    ​
HTML

<div class="radio">(This is styled to be hidden)
   <input name="size" class="radio_size" type="radio" id="radio_size_small" value="small "/>
   <input name="size" class="radio_size" type="radio" id="radio_size_medium" value="medium"/>
   <input name="size" class="radio_size" type="radio" id="radio_size_large" value="large"/>
</div>

<div class="radio_labels">
   <label class="label_size" for="radio_size_small" id="label_size_small">SMALL</label>
   <label class="label_size" for="radio_size_medium" id="label_size_medium">MEDIUM</label>
   <label class="label_size" for="radio_size_large" id="label_size_large">LARGE</label>
</div>
​
(此样式设置为隐藏)
小的
中等
大的
​

您的代码已被破坏-JavaScript中缺少一个右括号


单击标签可以工作。如果您想要单选按钮的值,请记住,单击事件指的是标签,而不是单选按钮。您必须访问“for”属性以获取单选按钮,然后获取其值。

您可以使用以下代码获取值:


它在Chrome和Firefox中对我有效(第一次和每次点击每个标签都会选择相应的单选按钮——我想这就是你想要的?)。您使用的浏览器是什么?此选项可以。谢谢,链接了错误的示例,但您理解了我的意思!谢谢aswayer和blocco:)此选项获取标签文本,而不是相应单选按钮的值
This.getAttribute
?OP使用jQuery,请使用
$(This.attr('for'))
有效!我把问题中链接的版本弄糟了,但你明白我的意思了!正是我想要的,谢谢:)@blocco:那是因为我是个白痴,忘了在DOM/plain JavaScript
for
中是
htmlFor
:。
$(".label_size").click(function()
{
   alert($("#"+$(this).attr("for")).val());
})