javascript - 我正在尝试在循环时组合一个字符串

标签 javascript jquery

如果选中前两个框,我试图获得的结果将是 1 2,如果选中 3 个框,则结果将是 1 2 3。x 未定义。我认为这与变量范围有关,但即使我在输入函数中查看 x,它一次也只显示 1 个选择,它并没有组合它们。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
function MLSNumbersSelected()
{
    $("input:checkbox").each(function(){  
        var $this = $(this);    
        if($this.is(":checked")){
        var x = x+" "+$this.attr("id");
        }
    });
  alert(x); //should equal what is checked for example 1 or 1 2.
}
</script>
</head>

<body>
    <p id="checkBoxes">
        <input type="checkbox" class="checkBoxClass" id="1" />1<br/>
        <input type="checkbox" class="checkBoxClass" id="2" />2<br/>
        <input type="checkbox" class="checkBoxClass" id="3" />3</p>
    <p>
            Check off some options then click button.
      <input type="button" name="button" id="button" value="Click to Test" onClick="MLSNumbersSelected()">
    </p>
</body>

最佳答案

您在循环中每次都定义 x,而不是定义 x 一次并在循环中继续附加到它。 例如:

    <script>
    function MLSNumbersSelected()
    {
        var x;
        $("input:checkbox").each(function(){  
            var $this = $(this);    
            if($this.is(":checked")){
                x += " "+$this.attr("id");
            }
        });
        alert(x); //should equal what is checked for example 1 or 1 2.
    }
    </script>

关于javascript - 我正在尝试在循环时组合一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30361894/

相关文章:

javascript - 获取与 react-dom 相关的错误

javascript - select 没有从 jQuery 触发任何事件

javascript - 在 Electron 应用程序中使用 sql.js

jquery 捕获生成的 css?

jquery - onBeforeSeek 和 onSeek 使用 jQuery Scrollable 切换子 div?

javascript - 如何向元素添加额外的类名?

javascript - alfresco javascript 继承和路径

javascript - 整页弹出消息配合alert激活

jquery - 不同高度的菜单需要放置在其父 div 的垂直居中

javascript - 如何使按钮将我的页面重定向到另一个页面?