将单击按钮的值推入数组

时间:2015-11-08 15:22:14

标签: javascript jquery arrays

我试图将点击按钮的值推送到名为values的JS数组中。之后,我想检查这个数组的长度,如果它的长度为6,则条件为真。这段代码的问题在于我没有得到警报。

JS

var values = [];

jQuery(document).ready(function($){
    $('.ui-btn').click(function() {
        values.push($(this).val());             
    });
});
if (values.length == 6) {
    alert("Hello! I am an alert box!!");
}

HTML

<div>
    <button name="btn1" type="submit" id="btn1" value="1" class="ui-btn"></button>
    <button name="btn2" type="submit" id="btn2" value="2" class="ui-btn"></button>
</div> // I have up to 9 buttons, thats only a piece

1 个答案:

答案 0 :(得分:3)

您所要做的就是将if语句放在click() jQuery事件处理程序中,如下所示:

$('.ui-btn').click(function() {
    values.push($(this).val());
    if (values.length == 6) {
        alert("Hello! I am an alert box!!");
     }
});

请参阅JSFiddle.net上的工作示例。

代码的问题是if语句只在开头执行一次,以检查数组的长度是否为6.每次都需要运行 单击一个按钮(因此在click处理程序内)。