我有一个包含5个下拉列表的表单,这些表单是由php在运行时生成的,我希望使用jQuery验证器进行验证。由于我已经为他们提供了一个名称数组,验证者只会验证第一个下拉列表,但我需要确保在发布表单之前验证所有5个。
用于制作下拉列表的PHP
function activityDropDown($id){
echo('<select id='.$id.' name=activity[]>
<option></option>
<option>a</option>
<option>b</option>
<option>c</option>
</select>');
}
<script type="text/javascript">
$(document).ready(function(){
$("#friDate").Zebra_DatePicker({
format: 'm-d-Y',
disabled_dates: ['* * * 0-4,6'],
first_day_of_week: 0,
onSelect: function(){
var date = new Date($("#friDate").val());
$("#mon").val(addDays(date, -4));
$("#tue").val(addDays(date, -3));
$("#wed").val(addDays(date, -2));
$("#thu").val(addDays(date, -1));
$("#fri").val(addDays(date, 0));
}
});
$("#form").validate();
$("#monActivity").rules("add", {
required: true
});
$("#tueActivity").rules("add", {
required: true
});
});
</script>
<tr>
<td>Activity:</td>
<td><?php activityDropDown('monActivity') ?></td>
<td><?php activityDropDown('tueActivity') ?></td>
<td><?php activityDropDown('wedActivity') ?></td>
<td><?php activityDropDown('thuActivity') ?></td>
<td><?php activityDropDown('friActivity') ?></td>
</tr>
正如您所看到的,我尝试根据元素ID手动添加规则,但它仍然在做同样的事情;只有第一个下拉列表才会生效。
非常感谢任何帮助!
答案 0 :(得分:1)
id
echo('<select id="'.$id.'" name="activity[]">
答案 1 :(得分:1)
试试这个:
function activityDropDown($id){
static $activitynum = 0;
echo("<select id='$id' name=activity[$activitynum]>
<option></option>
<option>a</option>
<option>b</option>
<option>c</option>
</select>");
$activitynum++;
}
这通过显式指定数组索引来解决验证插件中的限制,因此名称是不同的。