jquery js radio单选框取值和赋值
今天下午遇到的坑,天大的坑啊,表单clear后,radio赋值无效。去除clear后却可。我用的以下方法尝试,都失败。最终问了项目经理,用末尾方法实现了。以下方法//取radio的值$("input[name='radioName'][checked]").val();//给radio 赋值, 选中值为2的radio:$("input[name='radioName'][value=2]").at
今天下午遇到的坑,天大的坑啊,表单clear后,radio赋值无效。去除clear后却可。我用的以下方法尝试,都失败。最终问了项目经理,用末尾方法实现了。
以下方法
-
//取radio的值 -
$("input[name='radioName'][checked]").val(); -
//给radio 赋值, 选中值为2的radio: -
$("input[name='radioName'][value=2]").attr("checked",true);
官方的方法是这样写:
-
//获取选中值,三种方法都可以: -
$('input:radio:checked').val(); -
$("input[type='radio']:checked").val(); -
$("input[name='rd']:checked").val(); -
//设置第一个Radio为选中值: -
$('input:radio:first').attr('checked', 'checked'); -
//或者 -
$('input:radio:first').attr('checked', 'true'); -
//注:attr("checked",'checked')= attr("checked", 'true')= attr("checked", true) -
//设置最后一个Radio为选中值: -
$('input:radio:last').attr('checked', 'checked'); -
//或者 -
$('input:radio:last').attr('checked', 'true'); -
//根据索引值设置任意一个radio为选中值: -
$('input:radio').eq(索引值).attr('checked', 'true');索引值=0,1,2.... -
//或者 -
$('input:radio').slice(1,2).attr('checked', 'true'); -
//根据Value值设置Radio为选中值 -
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true'); -
//或者 -
$("input[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true'); -
//删除Value值为rd2的Radio -
$("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").remove(); -
//删除第几个Radio -
$("input:radio").eq(索引值).remove();索引值=0,1,2.... -
如删除第3个Radio:$("input:radio").eq(2).remove(); -
//遍历Radio -
$('input:radio').each(function(index,domEle){ -
//写入代码 -
});
此方法有效:
-
$("input[name='GENDER'][value=" + object.GENDER + "]").prop("checked", "checked");//object..是请求得到的数据 -
$("input[name='MARRIAGE'][value=" + object.MARRIAGE + "]").prop("checked", "checked"); -
$("input[name='JOBTYPE'][value=" + object.JOBTYPE + "]").prop("checked", "checked");
总结:
- 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
- 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法
举一个例子:
<input id="chk1" type="checkbox" />是否可见 <input id="chk2" type="checkbox" checked="checked" />是否可见
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true
如果上面使用attr方法,则会出现:
$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"
二、
在编辑已有表单信息时,需要先对表单的值进行初始化,其他都比较容易直接通过.val(),单选略复杂,网上找的方法不太管用,可以试试如下方法,jQuery代码:
$("input[name='sexy']").each(function(index, element) {
if($(this).val()==json_person.sexy){
$(this).prop("checked",true);
}
});
简单思路就是遍历每一项判断其value等于要设定的值则赋予checked属性。porp()和attr()详见另一篇文章:http://blog.csdn.net/taijiedi13/article/details/37905471。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)