php html java复选框数组,但前4个类似于收音机

php html java复选框数组,但前4个类似于收音机,php,jquery,html,checkbox,radio-button,Php,Jquery,Html,Checkbox,Radio Button,一段时间以来,我一直在尝试让复选框数组的前4个像单选按钮一样工作,我想我已经有了它,但我想不出来。。我在这里搜索了一下,发现。。 虽然我显然还没能让它在我的案子里起作用。所以要重新迭代。我需要前4个,你只能选择1个,而其他的可以是任意组合的倍数。我知道这是我必须错过的一件小事 HTML 权限0 权限1 权限2 权限3 权限4 权限5 权限6 权限7 剧本 function checkOnly(myCheckbox) { for(var i = 0; i < 4; i++) {

一段时间以来,我一直在尝试让复选框数组的前4个像单选按钮一样工作,我想我已经有了它,但我想不出来。。我在这里搜索了一下,发现。。

虽然我显然还没能让它在我的案子里起作用。所以要重新迭代。我需要前4个,你只能选择1个,而其他的可以是任意组合的倍数。我知道这是我必须错过的一件小事

HTML


权限0
权限1
权限2
权限3
权限4
权限5
权限6
权限7
剧本

function checkOnly(myCheckbox) {
   for(var i = 0; i < 4; i++) {
      if(document.account_info.elements[i].name != myCheckbox.name) {
         document.account_info.elements[i].checked = false;
      }
   }
}
仅功能检查(myCheckbox){
对于(变量i=0;i<4;i++){
if(document.account\u info.elements[i].name!=myCheckbox.name){
document.account\u info.elements[i].checked=false;
}
}
}
这里是指向JSFIDLE的链接

问题在于
name
属性在javascript中始终是
权限[]

一种可能的解决方案是使用值而不是名称:

function checkOnly(myCheckbox) {
   for(var i = 0; i < 4; i++) {
      if(document.account_info.elements[i].value != myCheckbox.value) {
         document.account_info.elements[i].checked = false;
      }
   }
}
仅功能检查(myCheckbox){
对于(变量i=0;i<4;i++){
if(document.account\u info.elements[i].value!=myCheckbox.value){
document.account\u info.elements[i].checked=false;
}
}
}

查看上的示例。

比循环检查每个复选框容易得多

$('.radio').change(函数(){
$('.radio').not(this.removeAttr('checked');
$(this.attr('checked','checked');
});

权限0
权限1
权限2
权限3
权限4
权限5
权限6
权限7

是的,只需将它们做成单选按钮即可。¯_(ツ)_/''我知道这很简单。我一辈子都搞不懂为什么。我确信它放了权限[0],权限[1]等等。非常感谢你的澄清。我也学到了一些东西
function checkOnly(myCheckbox) {
   for(var i = 0; i < 4; i++) {
      if(document.account_info.elements[i].value != myCheckbox.value) {
         document.account_info.elements[i].checked = false;
      }
   }
}