用javascript检查单选button

出于某种原因,我似乎无法弄清楚这一点。

我有一些单选button在我的HTML切换类别:

<input type="radio" name="main-categories" id="_1234" value="1234" /> // All <input type="radio" name="main-categories" id="_2345" value="2345" /> // Certain category <input type="radio" name="main-categories" id="_3456" value="3456" /> // Certain category <input type="radio" name="main-categories" id="_4567" value="4567" /> // Certain category 

用户可以select他/她想要的任何一个,但是当某个事件触发时,我想设置1234被设置为选中单选button,因为这是默认选中的单选button。

我试过这个版本(有和没有jQuery):

document.getElementById('#_1234').checked = true;

但似乎并没有更新。 我需要它明显更新,以便用户可以看到它。 任何人都可以帮忙吗?

编辑:我只是累了,忽略了# ,感谢您指出了, $.prop()

不要将CSS语法( #用于标识符)与本地JS混合使用

原生JS解决scheme:

document.getElementById("_1234").checked = true;

JQuery解决scheme:

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

如果你想设置“1234”button,你需要使用它的“ID”:

 document.getElementById("_1234").checked = true; 

在使用浏览器API(“getElementById”)时,不要使用select器语法; 您只需传递您正在查找的实际“ID”值。 您使用select器语法与jQuery或.querySelector().querySelectorAll()

最简单的方法可能是使用jQuery,如下所示:

 $(document).ready(function(){ $("#_1234").attr("checked","checked"); }) 

这增加了一个新的属性“checked”(在HTML中不需要一个值)。 只要记住包含jQuery库:

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 

今天,在2016年,在不知道ID的情况下使用document.querySelector是一种保存(尤其是如果您有两个以上的单选button):

 document.querySelector("input[name=main-categories]:checked").value 

通过使用document.getElementById()函数,您不必在元素ID之前传递#

码:

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

演示: JSFiddle