我在基于xtcommerce的解决方法中使用了许多单选按钮。 这些radiobuttons是动态创建的,并为每个组赋予不同的名称,如下所示:
....
现在我想将这些无线电按钮“组合”在一起,这样我一次只能选择一个无线电按钮。 现在默认情况下,每个“组”(name =“id [1]”,name =“id [2]”等)的每个第一个单选按钮都被预先选择,并且每个单选按钮的每个值都被提交。
我在stackoverflow上发现这个脚本只选择一个单选按钮:
$(document).ready(function () { $('input[type=radio]').prop('checked', false); $('input[type=radio]:first').prop('checked', true) $('input[type=radio]').click(function (event) { $('input[type=radio]').prop('checked', false); $(this).prop('checked', true); event.preventDefault(); }); });
这是一个小提琴:
https://jsfiddle.net/3xD7V/1/
这项工作到目前为止,我只能在我的页面上选择一个单选按钮。 但是你可以在我的js-fiddle中看到一个问题:
https://jsfiddle.net/ksZxV/
第一组的第一个单选按钮被预选 – 没关系。 但是如果您选择同一组的另一个单选按钮,则选择 – “标记”不会改变。 只有当您单击另一组的单选按钮时,所选的单选按钮才会被选中(在FF中找到另一个错误(编辑:和Opera以及IE9) ,如果我选择任何其他单选按钮,则不会显示选择标记;在Chrome中,它会通过选择另一个组来更改)。 如果您留在同一组中,则选择也不会更改。
在我的本地安装上,我有一个动态变化的更新程序,它说明了所选项目的新价格(抱歉,我无法实现这个小提琴)。 到目前为止,即使我选择了同一组的另一个单选按钮,价格也会更新,但如前所述,选择 – “标记”不会改变…
对这个问题有什么想法吗?
您无需取消选中所有单选按钮,然后重新检查当前按钮。 取消选中先前选中的按钮就足够了。
作为这种简化的副作用,您的错误也是固定的。
$(document).ready(function () { $('input[type=radio]').change(function() { // When any radio button on the page is selected, // then deselect all other radio buttons. $('input[type=radio]:checked').not(this).prop('checked', false); }); });
为什么你有event.preventDefault();
那里….因为你的代码内部点击function正在这样做。
删除event.preventDefault();
并尝试
这是小提琴..
只需删除event.preventDefault();
它会起作用。
检查这个JSFIDDLE
需要了解更多jQuery教程分享收音机不同的免费精选名字大全 – 只检查一个,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是jQuery教程分享收音机不同的免费精选名字大全 – 只检查一个相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/982049.html