0

JavaScript配列を作成しているのは、次の方法です。

var selectedColors= { 'Orange' : $("#Orange").val(),
                         'Light Blue' : $("#LightBlue").val(),
                         'Dark Red' : $("#DarkRed").val(),
                         'Dark Blue' : $("#DarkBlue").val()};

次に、各アイテムをループして、選択されていない色を確認し、それらを別の配列に格納します。

var colorsNotSelected = [];
$.each(selectedColors, function (key, value) {
    if (value.length == 0)
        colorsNotSelected.push({key:key});
});

ここでは、選択されていない色を表示したいのですが、次の方法でキーを表示します:オレンジ、ライトブルー、ダークレッド、ダークブルーの代わりに0、1、2、3。

私はここで何が間違っているのですか?

if (colorsNotSelected.length > 0)
    $.each(colorsNotSelected, function (key) { alert(key) });
    return false;

どんな助けでも大歓迎です。

4

2 に答える 2

1

オブジェクトと配列は、jQuery で同じことを繰り返します。return false ステートメントをチェックし続けるには、中かっこを使用する必要があるようです。

if (colorsNotSelected.length > 0) {
    $.each(colorsNotSelected, function (key) { alert(key) });
    return false;
}

これは不要です:

colorsNotSelected.push({key:key});

これを行うだけです:

colorsNotSelected.push(key);

これは、サンプルコードの上のどこかにこれがあると仮定しています:

var colorsNotSelected = [];
于 2012-11-02T21:24:44.180 に答える
0

代わりに for / in ループを試してみてください:

for(var i in colorsNotSelected){
   alert(i);
}
于 2012-11-02T21:27:52.240 に答える