0

作品のスクリーンショットです。

色ドロップダウンにはサブカラーがあります。現在、色の名前は ですcolor[]。この場合、3 つの色があることがわかります。1 番目の色には 1 つのサブカラーがあり、2 番目の色には 3 つのサブカラーがあり、3 番目の色には 1 つのサブカラーがあります

ここに画像の説明を入力

私がチェックする必要がある多くの検証があります。

  1. 任意の色、サブカラーは「SELECT」にしないでください (画像では、すべてのドロップダウンが色に対して選択されています)
  2. 3 色すべての親パーセンテージ (1 番目の色は画像のパーセンテージ ボックスがありませんが、サイトにあります) は正確に 100 にする必要があります。
  3. 各色のサブ パーセンテージも正確に 100% にする必要があります。たとえば、色 2 には 3 つのサブ カラーがあり、3 つの色にはサブ パーセンテージとして 20、40、40 があります。

JS でフォ​​ームの検証に問題があります。

試してみたところfrm["color[]"].length、3つになりました。最初の色のサブカラーにcolor[1][]名前が付けられています。長さを取得してcolor[]ループすると。

for (i = 0; i < frm["color[]"].length; i++){
    k = i+1;
    console.log( frm["color["+k+"][]"] ); 
}

それは動作します。

現在、3 つの色があり、3 を console.log(frm["color[]"].length)返します。1 つの色しかない場合は、ドロップダウンに 2k+ のようなアイテムの数が返されます。

ご不明な点がございましたら、jQuery ソリューションも歓迎しますのでお知らせください。

ありがとうございました

4

1 に答える 1

0

jQuery:

$('select[name^="color["]').each(function() {
  if ($(this).val()=="SELECT") {
    alert(this.name.replace(/[^color0-9]/gi," ")+"is not selected");
    return false;
  }
});
于 2013-02-21T06:59:11.117 に答える