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

用于组合循环、文本、复选框和结果的JavaScript代码,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我试图完成一个JavaScript类的练习,但我对代码的顺序感到困惑。练习是这样的:我们正在以一种形式收集调查信息。说明:使用for循环找出选中的复选框用户最多可以选择4个复选框,并在结果消息中显示其值。复选框的选项为红色、蓝色、橙色和紫色 任何人能提供的任何帮助都将不胜感激。这是我关于stackOverflow的第一个问题,如果我没有遵守所有的指导原则,请原谅。谢谢大家! 以下是按顺序排列的基本步骤: 从DOM中获取复选框列表这将生成一个DOM对象数组 使用for循环遍历数组以计算选中了多少复

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


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

以下是按顺序排列的基本步骤:

从DOM中获取复选框列表这将生成一个DOM对象数组 使用for循环遍历数组以计算选中了多少复选框。 显示计数 具体如何执行步骤1取决于您拥有的HTML,因此您必须先发布HTML,然后我们才能提供更具体的建议,而无需进行猜测

使用for循环的循环只不过是使用for循环的数组的基本迭代。你应该能够在课程材料中找到如何做到这一点,其中包括for循环

显示计数可以有多种方式。最简单的方法是使用警报消息。

下面是一个示意图:

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是一个示例方法-您需要提供自己的方法。

这里是一个实时演示:

很简单

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

您还可以在另一个函数中使用obj来处理其他事情。
现场演示:

这里有一个简单的方法:

将复选框元素收集到一个变量,并在for循环中迭代结果。您可能需要确定在for循环中使用它的元素数量。在该循环中,您可以确定选择了什么。-我不知道如何在没有完整解决方案的情况下提供帮助。@James McLaughlin,问题是我怎么做?我在组合概念时遇到困难。@MizRubyShoes在这里:仔细阅读,在阅读时,查找getAttribute:并使用getAttribute'value'来获取那些被合并的概念的值checked@Derek:因为这是错误的代码,jquery有.val访问该值,而有.each访问jquery对象。。键是代码中的全局变量。@ThiefMaster,没有完美的代码。我的例子非常有效。谢谢你的帮助!这正是我需要的。我对启动一切的顺序感到困惑。我来试试。谢谢你,贾斯汀!我是在正确的轨道上,但我已经包括了几行代码,我不需要我的新手身份的证据。谢谢你的时间。你的建议和@Justin的建议结合起来很有效。非常感谢你。我觉得我现在可以解决这个问题了。感激的
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
    }
}​