Tôi có nhiều lựa chọn trong biểu mẫu hay không và tôi cần kiểm tra với jQuery rằng ít nhất tất cả các trường bắt buộc (required="true"
) đều được chọn.Kiểm tra xem các tệp được yêu cầu có được chọn trong "hàng" chọn
Something như thế này:
<select class="check" name="first">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="second">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="third">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select name="other">
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
tôi cần phải rà soát tất cả các yếu tố chọn có lớp chứa .check
và chắc chắn rằng tất cả các trường bắt buộc được giao.
Tôi đã nghĩ đến việc tiếp tục như sau.
Thực hiện một mảng của tất cả các giá trị yêu cầu:
var requiredFields = []; $('option:selected', this).attr('required').each(function(){ requiredFields.push($(this).val()); })
Thực hiện một mảng của tất cả các giá trị được chọn:
var valuesSelected = []; $('.check').each(function(){ valuesSelected.push($(this).val()); })
Kiểm tra xem các trường bắt buộc là trong giá trị được chọn mảng, nếu không làm điều gì đó:
for(i=0;i<requiredFields;i++){ if(jQuery.inArray(requiredFields[i], valuesSelected)==-1){ var error += 'Please select '+requiredFields[i]; } }
Hiện thông báo lỗi, hoặc nếu có sản phẩm nào làm điều gì đó:
if(error!=''){ alert(error); // just for testing } else { // have fun }
Tôi đã đưa ra một đơn giản jsFiddle để kiểm tra nó, nhưng có vẻ như tôi phải làm gì đó sai, bất kỳ sự giúp đỡ?
cập nhật, nhưng vẫn không làm việc .. – ghego1