0

我有以下代码:

$('[name^=business_] option:selected').each(function(){
    var bus = $(this).text();
    alert(bus);
});

这会带回名称以开头的所有下拉列表的选定值business_- 这很好。

我需要的是,如果none下拉列表中的选定值等于或大于 1,则返回警报。

但是我无法理解如何实现这一点,我尝试将这些值加在一起,但没有任何乐趣 - 欢迎任何指针。

4

2 回答 2

3

遍历下拉列表,一旦找到一个值大于 1 的下拉列表,设置一个标志并中断循环。

var foundOne = false;
$('[name^=business_] option:selected').each(function() {
    if ($(this).val() >= 1) {
        foundOne = true;
        return false;
    }
});

if (!foundOne) {
    alert('No selected options had a value of 1 or higher'); 
}
于 2013-07-31T20:18:34.013 回答
0

为什么不使用.filter()然后检查length

   var arr = $('select option:selected').filter(function(){
       if(this.value > 1)
           return this; 
    });

    if(arr.length) // arr.length > 0 also valid
        alert('yes');

演示:http: //jsfiddle.net/vaTVX/1/

于 2013-07-31T20:31:18.683 回答