【问题标题】:Select a certain amount of checkbox arrays on the page在页面上选择一定数量的复选框数组
【发布时间】:2011-01-10 01:49:07
【问题描述】:

所以我写了一个函数来选择页面上一定数量的复选框,当我给它发消息但没有选中复选框时,数字检索得很好。

这是我的功能

function checkAmount(number)  
{  
alert(number);      
var boxes = document.getElementsByTagName("input");  
for (var i = 0; i < number; i++) {  
    if (boxes[i].name == "vote[]") {  
        boxes[i].checked = true;  
    }  
}  
}

这是我的执行代码

 OnClick="checkAmount(document.getElementById(\'ammount\').value)"

【问题讨论】:

  • 只是一个注释;您不需要转义 onclick 属性值中的单引号,因为您对字符串使用了双引号。
  • 我这样做是因为它在 php 中执行,我的 echo 就像 echo' ';
  • 上面的代码会检查所有名称为 vote[] 的复选框,如果存在于当前文档中,这是你想要做的吗?
  • 请不要在询问 JavaScript 问题时提供 PHP 代码。
  • 等待 PHP? PHP 究竟是如何参与其中的?

标签: php javascript loops onclick checkbox


【解决方案1】:

您正在使用 document.getElementsByTagName("input") ,这将返回不需要单独为复选框的输入元素。 将您的脚本更改为:

function checkAmount(number) {  
    alert(number);      
    var boxes = document.getElementsByName("vote[]");  
    var len = (number>boxes.length)? boxes.length: number;
    for (var i = 0; i < len; i++) {  
       boxes[i].checked = true;  
    }  
}

【讨论】:

  • 感谢cybernate,你一如既往....太棒了,我会尽快接受答案
【解决方案2】:
if(boxes.item(i).name == 'vote[]'){ ... }

boxes.item(i).checked = true;

【讨论】:

  • 否决item(i) 表示法,或者没有指出getElementsByName("vote[]")
猜你喜欢
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
相关资源
最近更新 更多