用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