HTML5输入无线电javascript验证如何工作?

时间:2015-04-15 22:40:22

标签: javascript jquery html html5

这个问题有点奇怪,但是在玩我的脑袋。我正在研究如何使用JQuery检查/选择无线电类型的输入。

我使用看起来像这样的代码解决了我的问题:

if ($("#someId").is(":checked")) {
}

这很简单,但是当我使用浏览器开发人员工具验证/检查输入字段时,没有任何输入具有不同的属性,它们看起来都是一样的。所以:

验证如何运作?有什么功能可以知道哪些输入真的被检查了?

我会在@Peter J的另一个问题上留下这个小提琴,这样你就可以看到我在说什么,也许可以帮助我:http://jsfiddle.net/RhnvU/

谢谢:)

3 个答案:

答案 0 :(得分:4)

这不是存储为html属性,而是存储在与单选按钮关联的DOM对象中。您可以在源选项卡的devtools中,在监视表达式窗格中看到此内容。

enter image description here

您可以在javascript中获取此信息:

var checkedElement= document.querySelector("input:checked");
console.log(checkedElement.checked);

http://jsfiddle.net/RhnvU/3831/

答案 1 :(得分:1)

我已更新此示例:http://jsfiddle.net/AlexeiTruhin/RhnvU/3829/

$('#myForm input').on('change', function() {
   alert($('input[name=radioName]:checked', '#myForm').val()); 
   console.log(document.getElementsByTagName("input")); // pure JS
});

当从Inspect Elements检查Console时(在我的例子中),我们得到了这3个输入的数组。每个输入都有属性。其中一个属性是“检查”,其中包含可能的值' true'或者' false'。 这项工作是由浏览器完成的,所以jQuery只检查这个值。

答案 2 :(得分:0)

如果我没弄错的话,我正确理解你的问题......

选中复选框后,会添加属性checked

您也可以通过$("#someId:checked")

找到此信息

和css #someId:checked