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 に答える