Javascript或JQuery:单击单选按钮

时间:2013-11-02 01:45:13

标签: jquery select radio-button

http://jsfiddle.net/tearex/untbe/

<body style="text-align:center">
  <a>
   HOW TO check a button
  </a>
       <fieldset data-role="controlgroup" data-type="horizontal"  >
 <input name="btn1" id="a1" type="radio" value="1"  />
            <label for="a1">1 populate USA</label>
            <input name="btn1" id="a2" type="radio"  />
            <label for="a2" class="bigga">2 populate Germany</label>

    </fieldset>

如何选择按钮?

document.getElementById('a2').attr('checked', 'checked')

jQuery("#a2").attr('checked', true);
jQuery("input[value='1']").attr('checked', true);
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);

我已经尝试了在其他线程中找到的所有方法,但没有一种方法有效。

2 个答案:

答案 0 :(得分:1)

你需要使用jQuery包装器来使用像.attr()这样的方法,但要设置你需要使用的checked属性.prop()

$('#a2').prop('checked', true);
$y('input[name="type"][value="1"]').prop('checked', true);

使用vanila javascript

document.getElementById('a2').checked = true

答案 1 :(得分:1)

一般来说,如果你有直接引用DOM元素,你可以设置.checked属性:

document.getElementById('a2').checked = true;

...或者如果您使用的是jQuery,请使用.prop()方法:

$("#a2").prop("checked", true);

但是,我注意到你在使用jQuery mobile,它增加了特殊的样式,并且显示给用户的元素不是实际的单选按钮元素。对于这种情况,如jQuery mobile radio buttons doco page底部所述,如果您使用JS设置检查状态,则需要调用.checkboxradio("refresh")告诉jQuery mobile更新显示:

$("#a2").prop("checked", true).checkboxradio("refresh");

演示:http://jsfiddle.net/untbe/1/