用于组合循环,文本,复选框,结果的JavaScript代码

时间:2012-02-12 17:46:40

标签: javascript arrays for-loop

我正在尝试完成JavaScript类的练习,我对代码的顺序感到困惑。练习是这样的:我们正在收集表格中的调查信息。说明:使用for循环查找选中的复选框(用户最多可以选择4个)并在结果消息中显示它们的值。复选框的选项为红色,蓝色,橙色和紫色。

任何人都能提供的任何帮助都将非常感激。这是我关于stackOverflow的第一个问题,如果我没有遵守所有指导原则请求原谅。谢谢!

4 个答案:

答案 0 :(得分:1)

以下是基本步骤(按顺序):

  1. 从DOM获取一个复选框列表(这将产生一个DOM对象数组)
  2. 使用for循环遍历数组,以计算检查了多少个复选框。
  3. 显示计数
  4. 你究竟如何做第1步取决于你拥有的HTML,所以你必须先发布HTML,然后我们才能提出更具体的建议(不做猜测)。

    使用for循环循环只不过是使用for循环的数组的基本迭代。您应该能够在涵盖for循环的课程资料中找到如何做到这一点。

    显示计数可以通过多种方式完成。最简单的方法是使用alert()消息。

答案 1 :(得分:1)

这是草图:

var checkboxes = { 
  red: getElementByID('red'),
  blue: getElementByID('blue'),
  orange: getElementByID('orange'),
  purple: getElementByID('purple')
};

var resultMessage = "";
for (var name in checkboxes) {
  resultMessage += name + ": " + checkboxes[name].selected + "\n";
};

alert(resultMessage);

getElementByID是一个示例方法 - 您需要提供自己的方法。

答案 2 :(得分:0)

这是一个简单的方法:http://jsfiddle.net/V5a8V/

答案 3 :(得分:-1)

这是一个现场演示:http://jsfiddle.net/DerekL/qvvLQ/

很简单。

我使用jQuery因为它更容易使用:(这是它的一部分

function findIt(){
    var ele=$("input"),                 //get all checkboxes
        obj={};                         //create an object that store information

    for(var i=0;i<ele.length;i++){
        var e=ele[i];
        obj[$(e).attr("value")]=e.checked;   //store data in obj
    }
    for(key in obj){
        alert(key+": "+((obj[key])?"Checked":"Not checked"));    //recall it
    }
}​

您还可以在其他obj中使用 function 来处理其他内容。
现场演示:http://jsfiddle.net/DerekL/qvvLQ/