gpt4 book ai didi

javascript - jQuery inArray() 函数不适用于动态生成的数组,为什么?

转载 作者:行者123 更新时间:2023-11-29 23:46:43 25 4
gpt4 key购买 nike

我只是在 jquery 中使用 inArray() 函数,但它不起作用。其实我想检查数组中的值。我在 stackoverflow 上找到了很多解决方案,但没有任何效果,这就是我创建新帖子的原因。

小时格式为 1-24,用户可以选择他们的时间段,如 1-3、5-9 等。

这是我的代码

jQuery('.select_hours').click(function(){ 
var favorite = new Array();
jQuery.each(jQuery("input[name='hour_count']:checked"), function(){
favorite.push(jQuery(this).val());
});

console.log(favorite);

var max_v = Math.max.apply(Math,favorite);
var min_v = Math.min.apply(Math,favorite);

// check the number sequence
for(var i = min_v; i <= max_v; i++){

if(jQuery.inArray(i,favorite) != -1){
alert('Hours in sequence!');
}else{
alert('Please select hours in sequence!');
}
}

});

请帮帮我..

这是 HTML 复选框和按钮:

<input type="checkbox" name="hour_count" id="hour_count_1" value="1"><input type="checkbox" name="hour_count" id="hour_count_2" value="2"><input type="checkbox" name="hour_count" id="hour_count_3" value="3"><button type="button" id="select_hours" class="select_hours">Select Hours</button>

最佳答案

在复选框上运行 val() 会返回包含复选框设置值的字符串。但是您的 for 循环需要 number。这就是为什么您需要将 number 而不是 string 插入数组的原因。使用

favorite.push(parseInt(jQuery(this).val()));

工作示例:https://jsfiddle.net/websiter/f2kgetec/

关于javascript - jQuery inArray() 函数不适用于动态生成的数组,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43717629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com