Html复选框单击获取自身值的问题:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Html复选框单击获取自身值的问题:相关的知识,希望对你有一定的参考价值。

function do()
alert(document.getElementsByName('ec').checked);

……
<input type="checkbox" name="ec" value="0" onclick="do();" />
为什么复选框选中或者没选中,alert弹出值总是undefined呢,怎么获取这个复选框点击后的值呢?
(即单击后如果checkbox被选中,就返回true,没有返回false)
先谢谢楼下两位热心朋友,do()是提问时临时用的,网页上的名称是check(),网页上所有name都是唯一的。
check的具体功能是:如果选中复选框,那么就自动选中单选框的第一个按钮;如果取消复选框,那么就取消处于选中状态单选按钮的值。
全代码是这样的:
<script type="text/javascript">
function check()
var i = document.getElementsByName('ec').checked;
if (i)
document.getElementsByName('me')[0].checked = true;
else
var obj = document.getElementsByName('me');
for(var j=0;j<obj.length;j++)
if (obj[j].checked)
obj[j].checked = false;
return true;



return true;

</script>
<input type="checkbox" name="ec" value="0" onclick="check();" />是否进行计算:
<input type="radio" name="me" value="0" />按方法一计算
<input type="radio" name="me" value="1" />按方法二计算
但check()貌似就没发挥作用一样。

功能是:如果选中复选框,那么就自动选中单选框的第一个按钮;如果取消复选框,那么就取消处于选中状态单选按钮的值。

既然是用是否选中复选框判断,那么应该用if(document.getElementById(“ec”).checked)来判断其是否选中。
<input type="checkbox" name="ec" value="0" onclick="check();" id="ec" /> 增加一个id属性。
另外var i = document.getElementsByName('ec').checked;这句话有错误,getElementsByName返回的是数组集合。你不能直接在集合上面用checked。要使用getElementById.
参考技术A 你的第三句 var i = document.getElementsByName('ec').checked; 还是没有使用 [0],加上就对了

var i = document.getElementsByName('ec').checked; // 错
var i = document.getElementsByName('ec')[0].checked; // 对本回答被提问者采纳
参考技术B 能不能单击一次复选框实现全选效果,再次单击这个复选框又可实现全不选效果保存为html试下 1原理:利用checkbox按钮的状态值赋给要选中和未选中按钮

vue复选框获取值的补充

要通过vue的v-model获取选中复选框的值,可以用遍历对象的方式获取,代码如下:

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 5     <title></title>
 6     <script src="../js/vue2.js"></script>
 7     <script src="../js/vue-resource.js"></script>
 8 </head>
 9 <body>
10     <div id="app">
11         <input type="checkbox" v-model="person.jack" value="jack" id="Jack" /><label for="Jack">jack</label>
12         <input type="checkbox" v-model="person.bob" value="bob" id="Bob" /><label for="Bob">bob</label>
13         <input type="checkbox" v-model="person.alice" value="alice" id="Alice" /><label for="Alice">alice</label>
14         <p>已选:{{person}}</p>
15         <div><button @click="show">显示</button></div>
16         <p>结果:{{result.toString()}}</p>
17     </div>
18 
19     <script>
20         
21 
22         var app = new Vue({
23             el: #app,
24             data: {
25                 person: { jack: true, bob: true, alice: false },
26                 result:[]//获取选中后的checkbox的数组值
27             },
28             methods: {
29                 show: function () {
30                     this.result = [];
31                     for (var i in this.person) {
32                         if (this.person[i] == true) {
33                             this.result.push(i);
34                         }
35                     }
36                 },
37             },
38         });
39     </script>
40 </body>
41 </html>

 

以上是关于Html复选框单击获取自身值的问题:的主要内容,如果未能解决你的问题,请参考以下文章

复选框 $.change 被自身触发并循环,因为它正在 $.change 内部被修改

如何使用引导多选插件根据服务器端数据获取和设置多个复选框值

vue复选框获取值的补充

Vue JS - 单击复选框然后单击按钮时如何获取用户ID

在jQuery中获取所有选定复选框值的最佳方法[重复]

PHP获取多个同名复选框的值的处理(完整正确版本)