如何检查相对于文本框的单选按钮?

时间:2013-02-23 15:16:56

标签: jquery textbox focus radio-button checked

我正在尝试检查所选文本框的引用,但是当我更改为其他文本框时,第一个单选按钮保持选中状态!而且我不知道如何根据每个文本框检查单选按钮。

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p><input type="text" /> <input name="radio" type="radio" value="val1"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val2"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val3"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val4"/></p>
<script>
$("input").focus(function () {
$('input:radio[name=radio]:nth(0)').attr('checked',true);

});
</script>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以使用.next()作为特定布局。也就是说,考虑单选按钮紧跟输入文本。

$("input").focus(function() {
  $(this).next(":radio").prop("checked", true);
});

此外,从jQuery 1.6开始,建议在这种情况下使用.prop()

See it here.

答案 1 :(得分:0)

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p><input type="text" /> <input name="radio" type="radio" value="val1"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val2"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val3"/></p>
<p><input type="text" /><input name="radio" type="radio" value="val4"/></p>
<script>
$(':text').focus(function () {
    $(this).parent().children('input[type=radio]').attr('checked',true);
});
</script>
</body>
</html>