不同的form里面含相同id的checkbox,如何选取
时间:2009-05-28
来源:互联网
<form id="A" name="A">
<input type="checkbox" id="CC" name="CC" checked>
</form>
<form id="B" name="B">
<input type="checkbox" id="CC" name="CC">
</form>
我现在要得到form A里的 checkbox CC的checked状态是否被激活。
我尝试过下列方法:
1,$( "#A :input[type='checkbox'][@name='CC']").checked
2,$( "#A :checkbox[@name='CC']").checked
3,$( "#A :input[@name='CC']").checked
4,$( "#A").find(" :checkbox[@name='CC']").checked
都不行!!!
现在用了循环:
var bln = false;
$("#A").find(":checkbox").each(function(){
if(this.name == 'CC'){
if(this.checked == true){
// 这里只能放alert,其它任何函数都会报错(包括赋值bln = true;)
//bln = true;
alert("被选取");
}else{
// 这里只能放alert,其它任何函数都会报错(包括赋值 bln = false;)
//bln = false;
alert("没被选取");
}
}
});
谁能告诉我正确方法啊,多谢啦!!
作者: leelight 发布时间: 2009-05-28
不过看不出你有必要给input加上id,name已经够用了。此外IE有个将input控件的name作为id的bug,用id获取是有危险的。
最后就是jQuery 1.3中,属性选择器是不用@的,去掉就行了
作者: keakon 发布时间: 2009-05-28
看来还是用不同的Id算了
因为我后台用php获取文件,如果id相同的话,会省事点,不过没办法,只好改了
谢谢!
作者: leelight 发布时间: 2009-05-28
$( "#A>:checkbox[name='CC']").is(':checked');
提交表单都是用name属性啊,ajax提交虽然不需要name,但关服务器端什么事,你又不需要传id,map的key可以自己随便取啊
作者: keakon 发布时间: 2009-05-28
这样放置form和file 是为了应用需要,说不太清楚

$( "#A>:checkbox[name='CC']").is(':checked');
不过这个还是不行,取不到那个checkbox, size()是0
算了,还是改成单一的独立name和id,也符合你说的W3C标准
从你这学了很重要的几个语法,多谢多谢!!
作者: leelight 发布时间: 2009-05-29
我就是说提交默认是用name啊,关id什么事,name重复又没关系
作者: keakon 发布时间: 2009-05-29
作者: jokeykiss 发布时间: 2009-05-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28