radio 表单提交疑惑

whos2002110 2015-05-24 02:04:01



如图,页面结构是每个银行为一个li, 里面有个radio, 但我点击银行时会添加样式,并且把设置 radio.attr("checked",true);
手动把radio设为选中状态。

多次点击出现上图 多个radio checked=checked; 但只有一是选中状态(这里是为什么?)
也就是为什么我设置radioA.attr("checked",true)时 radioB,radioC会被取消选中而checked属性仍然是checked.。
最后提交表单时bankValue值只会提交最后点击的那个 radio, 上图中三个radio checked=checked, 最后是建设银行提交(它是最后设置attr("checked",true)的)

以上,我最终提交数据是正确,而我想知道 checked=checked 跟radio是否选中什么关系, 还有为什么多个checked=checked确只提交了最后设置的那个?
...全文
223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2015-05-25
  • 打赏
  • 举报
回复
radio同名的时候只有一个能选中,选中其中一个其他会自动取消勾选,如果多个radio设置过checked属性(就是多个同名radio初始化时都有checked属性为非false,一般是最后那个被勾选,其他被取消)


你用脚本设置radio的选中是不会触发绑定的事件的,会导致勾选状态的黄色图片没有显示在radio被check的项上

你要自己用js设置那张黄色图片的隐藏显示。或者自己看代码,执行下相关代码设置图片状态
whos2002110 2015-05-24
  • 打赏
  • 举报
回复
引用 5 楼 hch126163 的回复:
radio 就是单选。name 相同是是一组,只能有一个选中 checked=checked 就是选中
大哥你看图啊,3个checked=checked 但只有一个选中啊,你给我整点有用的行不
xiangwendong 2015-05-24
  • 打赏
  • 举报
回复
$("input[name^=backValue']").each(function(){ alert($(this).val()) }) 这个才对
xiangwendong 2015-05-24
  • 打赏
  • 举报
回复
$("input[name^='backValue']").each(function(){ alert($(this).attr("checked")) }) 循环查看下 是否只有一个true
hch126163 2015-05-24
  • 打赏
  • 举报
回复
radio 就是单选。name 相同是是一组,只能有一个选中 checked=checked 就是选中
xiangwendong 2015-05-24
  • 打赏
  • 举报
回复
你可以attr("checked")查看下其他的是否为false
xiangwendong 2015-05-24
  • 打赏
  • 举报
回复
是一样的!但你那只是html初始属性 attr("checked",true)的时候已经变为false了
whos2002110 2015-05-24
  • 打赏
  • 举报
回复
引用 1 楼 xiangwendong 的回复:
radio默认相同名称只能选一种,不然为什么叫单选呢!你提交的时候默认最后一个是因为单选你原来选中的会给你只为false!
那就是说checked=checked 跟radio是否选中没有直接关系? 因为我用jquery操作的,似乎 跟原生js radio .checked = true; 还不一样。
xiangwendong 2015-05-24
  • 打赏
  • 举报
回复
radio默认相同名称只能选一种,不然为什么叫单选呢!你提交的时候默认最后一个是因为单选你原来选中的会给你只为false!

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧