0

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);

我已经尝试了我在其他线程中找到的所有方法,但它们都不起作用。

4

2 回答 2

1

一般来说,如果您直接引用 DOM 元素,则只需设置.checked属性:

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

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

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

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

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

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

于 2013-11-02T03:08:19.207 回答
1

您需要使用 jQuery 包装器来使用 .attr() 之类的方法,但要设置选中的属性,您需要使用 .prop()

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

使用 vanila javascript

document.getElementById('a2').checked = true
于 2013-11-02T01:46:18.217 回答