按其值检查无线电输入字段

时间:2016-08-14 16:39:42

标签: jquery html

我已经找到了答案,但我所得到的一切都无法解决我的问题。

我想checked这样的广播input

<input type="radio" name="field" value="a" />
<input type="radio" name="field" value="b" checked />
<input type="radio" name="field" value="c" />
<a href="javascript:;">cancel</a>

// jQuery
$("a").click(function(){
    var checked = "b";
    $('input').each(function(){
        var value = $(this).val();
        if(value == checked){
            $(this).attr('checked', true);
        } else {
            $(this).attr('checked', false);
        }
    });
});

现在这是我想要实现的,默认值为“b”,因此如果用户点击“a”或“c”并想要将值返回“b”而不点击“b”并点击链接我希望检查值“b”,从而取消选中其他值。但是当我运行代码时,它只是取消选中所有值。 如何使用jQuery

实现这一目标

2 个答案:

答案 0 :(得分:2)

试试这个: 的被修改

JAVASCRIPT:

$("a").click(function(){
   $('input[name="field"][value="b"]').attr('checked', true);
});

HTML:

<input type="radio" name="field" value="a" />
<input type="radio" name="field" value="b" checked />
<input type="radio" name="field" value="c" />
<a href="javascript:;">cancel</a>

答案 1 :(得分:0)

并不总是可以使用输入类型重置。所以,你需要第一个:

  • 保存当前已检查的电台索引
  • 点击链接时设置检查此收音机:

$(function () {
  $("a").data('radio-checked-index', $(':radio:checked').index(':radio'));
  $("a").click(function(){
    var checkedIndex =  +$("a").data('radio-checked-index');
    $(':radio:eq(' + checkedIndex + ')').prop('checked', true);
  });
});
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<form>
    <input type="text">
    <input type="radio" name="field" value="a" />
    <input type="radio" name="field" value="b" checked />
    <input type="radio" name="field" value="c" />
    <input type="reset">
    <a href="javascript:;">cancel</a>
</form>