我有一个表格,如果用户选择值1表示提交表格,但如果他们选择2或3他们必须从类别reason select
(那里选择一个值是三个选择与类reason select
,我刚所示的一个这样的问题,以保持代码越短POSS)确认选择阿贾克斯呼叫值的问题
,其被包裹在一个div的HTML称为audit_content
<tr>
<td>
<select name="grade" class="grade" >
<option value="1">1 - Perfect</option>
<option value="2">2 - Diagnostic</option>
<option value="3">3 - Unusable</option>
</select>
</td>
</tr>
<tr>
<td>
<select name="exposure_reason" class="reason_select" >
<option value="1">Reason One</option>
<option value="2">Reason Two</option>
<option value="3">Reason Three</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="button" class="delete_submit delete_from_audit" value=""
onClick="delete_image('<? echo $image_id; ?>','<? echo $audit_id; ?>')" />
<input type="button" class="reset_grade control_submit ie7_reset"
onclick="reset_image('<? echo $image_id; ?>','<? echo $audit_id; ?>')" value="" >
<input type="hidden" class="form_id" value="<? echo $i; ?>" >
<input type="button" name="audit_submit"
class="audit_submit audit_submit_btn ie7_submit" value="" />
</td>
</tr>
jquery的
$(document).ready(function(){
$('#audit_content').on("click", ".audit_submit", function(){
var form_id = $(this).prev('.form_id').val();
alert(form_id);
var $form = $(this);
reasonHasVal = false;
if ($form.find('select[name="grade"]').val() != "1") {
$form.find("select.reason_select").each(function() {
if ($(this).val() != "") {
reasonHasVal = true;
$.ajax({
type: "POST",
url: "ajax/image_audit.php",
dataType: "json",
data: $('#audit_form'+form_id).serialize(),
success: function(response){
$('.audited_ok_tick'+form_id).html(response);
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError);
}
});
return false;
}
});
if (!reasonHasVal) {
e.preventDefault();
alert("Please select a reason.");
}
}
});
});
当我点击提交按钮,警报与form_id
作品,但没有别的,我知道的Ajax调用是确定的,因为它的工作,直到我试图添加验证的选择值
对于我来说缺少太多的HTML以进一步调查...... – gkalpak
需要哪些html位?整个批次约为600行 – tatty27
在发布的JS中引用的部分(例如'.form_id'等)。一个** [SSCCE](http://sscce.org)**或一个** [JS小提琴](http://jsfiddle.net)**也将有所帮助... – gkalpak