2012-03-17 35 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属性为选择你可以得到包含选择元素的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 
}