我有一个表单,使用选择框显示“Round Trip”,“One Way”,ID为“my_transfer_type”。当选择“往返”时,需要“到达”和“离开”字段。但是,当选择“单向”时,除非一个字段填写“arrivaldate”或“departuredate”,如果两个字段中都没有输入,或者如果两个字段都填满则应该抛出错误,则不应提交表单。我们使用jquery validate插件。到目前为止,我做到了只有“my_transfer_type”=“往返”时才需要“到达”和“离开”。但是,当选择“One Way”时,我不知道如何使“arrivaldate”或“departnedate”成为必需,并且还使得如果两个字段都填满则抛出错误。以下是我到目前为止的情况:
$(document).ready(function(){
var validator = $("#express_booking").validate({
rules: {
arrivaldate: {
required: function(element) {
return $("#my_transfer_type").val() == "Round Trip";
},
date:true
},
departuredate: {
required: function(element) {
return $("#my_transfer_type").val() == "Round Trip";
},
date:true
},
},
highlight: function(element, errorClass) {
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
},
unhighlight: function(element, errorClass) {
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
},
showErrors: function(errorMap, errorList) {this.defaultShowErrors();}
});
});