2012-03-17 25 views
0

jqueryを使用して動的選択ボックスを作成しました。選択ボックスを配列名= Child[]として作成しました。私のコードを参照選択ボックスの配列から選択した値をjavascriptに取得する

for(i=1;i<=val;i++){ 

      var newParagraph = $('<dl class="thirty fl"><dt>Child '+i+'</dt> <dd><select name="child[]"><option value="">--select--</option><option value="1">1</option><option value="2">2</option><option value="3">3</option</select></dd></dl>'); 
       $('#childDynamic').append(newParagraph); 
      } 

フォーム検証セクション(JavaScript)では、この選択ボックスの検証方法は? JavaScriptを使用して選択ボックスの配列から値を取得する方法がわかりません

誰でも手助けできますか?事前

答えて

0

おかげで(あなたが実際にHTMLは配列を持っていないことを考えると、選択要素の配列を持っている。しかし、いずれにせよしないでください...)

ますよう、name属性を使用している場合セレクタを使用すると、select要素を含むjQueryオブジェクトを得ることができます。

$('#childDynamic select[name="child\\[\\]"]') 

...これは、あなたが適切に処理することができます。

角括弧はjQueryセレクタで特別な意味を持つため、バックスラッシュでエスケープする必要があります。また、文字列リテラルにバックスラッシュを含めるにはエスケープする必要があります。

とにかく、私はあなたが適用する検証の種類を知りませんが、あなたはそれぞれの選択をループしたい場合、あなたはこのような何かを行うことができ、いくつかの方法で、その値を確認します

var valid = true; 
$('#childDynamic select[name="child\\[\\]"]').each(function() { 
    var val = $(this).val(); 
    // example validation: make sure something other than the default 
    // blank value is selected 
    if (val === "") { 
     valid = false; 
    } 
}); 
if (!valid) { 
    // do something 
} 
関連する問題