Javascript jQuery验证don';当会话下拉字段所选文本为Admin时,是否触发所需条件?
我使用jquery验证库来验证表单。我有一个选择此会话的会话字段下拉列表。开始日期和结束日期填充到开始日期、结束日期和dayofweek文本框中。我要做的是,仅当会话名称不等于Admin时,才会激发dayofweek所需的条件。我该怎么做呢。请帮帮我。提前谢谢 HTMLJavascript jQuery验证don';当会话下拉字段所选文本为Admin时,是否触发所需条件?,javascript,jquery,wordpress,Javascript,Jquery,Wordpress,我使用jquery验证库来验证表单。我有一个选择此会话的会话字段下拉列表。开始日期和结束日期填充到开始日期、结束日期和dayofweek文本框中。我要做的是,仅当会话名称不等于Admin时,才会激发dayofweek所需的条件。我该怎么做呢。请帮帮我。提前谢谢 HTML <table class="widefat" style="width:100%"> <thead> <tr> <th>Title&
<table class="widefat" style="width:100%">
<thead>
<tr>
<th>Title</th>
<th>Content</th>
</thead>
<tbody>
<tr>
<td width="20%">User</td>
<td>
<select name="txtuser" id="txtuser" aria-required="true" aria-invalid="false" class="valid">
<option>--select--</option>
<option value="2">nitinjohnson2000</option>
</select>
</td>
</tr>
<tr>
<td width="20%">Sessions</td>
<td>
<select name="txtsession" id="txtsession" aria-required="true" aria-invalid="false" class="valid">
<option>--select--</option>
<option value="14">Fall 2015 - Anderson Elementary Chess Program - Frisco ISD</option>
<option value="15">Fall 2015 - Ashley Elementary Chess Program - Frisco ISD</option>
<option value="16">Fall 2015 - Bethany Elementary Chess Program - Plano ISD</option>
<option value="17">Fall 2015 - Bledsoe Elementary Chess Program - Frisco ISD</option>
<option value="18">Fall 2015 - Borchardt Elementary Chess Program - Frisco ISD</option>
<option value="19">Fall 2015 - Carlisle Elementary Chess Program - Plano ISD</option>
<option value="20">Fall 2015 - Gulledge Elementary Chess Program - Plano ISD</option>
<option value="21">Fall 2015 - Hosp Elementary Chess Program - Frisco ISD</option>
<option value="22">Fall 2015 - Isbell Elementary Chess Program - Frisco ISD</option>
<option value="23">Fall 2015 - Mathews Elementary Chess Program - Plano ISD</option>
<option value="24">Fall 2015 - McCall Elementary Chess Program - Plano ISD</option>
<option value="25">Fall 2015 - McSpedden Elementary Chess Program - Frisco ISD</option>
<option value="26">Fall 2015 - Riddle Elementary Chess Program - Frisco ISD</option>
<option value="27">Fall 2015 - Schell Elementary Chess Program - Plano ISD</option>
<option value="28">Fall 2015 - Sem Elementary Chess Program - Frisco ISD</option>
<option value="29">Fall 2015 - Shepard Elementary Chess Program - Plano ISD</option>
<option value="30">Fall 2015 - Skaggs Elementary Chess Program - Plano ISD</option>
<option value="31">Huffman Elementary Chess Program - Spring 2014 Session 1</option>
<option value="52">Admin</option>
</select>
</td>
</tr>
<tr>
<td width="20%">School Name</td>
<td><input type="text" name="txtschoolname" readonly /></td>
</tr>
<tr>
<td width="20%">Day of Week</td>
<td><input type="text" name="txtdayofweek" readonly /></td>
</tr>
<tr>
<td width="20%">Start Date</td>
<td><input type="text" name="txtstartdate" id="txtstartdate" readonly /></td>
</tr>
<tr>
<td width="20%">End Date</td>
<td><input type="text" name="txtenddate" id="txtenddate" readonly /></td>
</tr>
<tr>
<td width="20%">Expense Allowance Value</td>
<td><input type="text" name="txtexpenseallowancevalue" /></td>
</tr>
<tr>
<td width="20%">Admin Hours Allowed</td>
<td><input type="text" name="txtadminhoursallowed" /></td>
</tr>
</tbody>
</table>
标题
内容
使用者
--挑选--
尼廷约翰逊2000
会议
--挑选--
2015年秋季-安德森初级国际象棋项目-弗里斯科国际象棋学院
2015年秋季-阿什利初级国际象棋项目-弗里斯科国际象棋学院
2015年秋季-伯大尼初级国际象棋项目-普莱诺ISD
2015年秋季-布莱索初级国际象棋项目-弗里斯科国际象棋学院
2015年秋季——博尔查特初级国际象棋项目——弗里斯科国际象棋学院
2015年秋季-卡莱尔初级国际象棋项目-普莱诺ISD
2015年秋季-Gulledge初级国际象棋项目-Plano ISD
2015年秋季——Hosp初级国际象棋项目——弗里斯科国际象棋项目
2015年秋季——伊斯贝尔初级国际象棋项目——弗里斯科国际象棋学院
2015年秋季——马修斯初级国际象棋课程——普莱诺国际象棋学院
2015年秋季-麦考尔初级国际象棋项目-普莱诺ISD
2015年秋季-麦克斯佩登初级国际象棋课程-弗里斯科国际象棋学院
2015年秋季-里德尔初级国际象棋项目-弗里斯科国际象棋学院
2015年秋季——谢尔初级国际象棋项目——Plano ISD
2015年秋季——Sem初级国际象棋课程——弗里斯科国际象棋学院
2015年秋季-谢泼德初级国际象棋课程-普莱诺国际象棋学院
2015年秋季-斯卡格斯初级国际象棋项目-普莱诺国际象棋项目
哈夫曼初级国际象棋课程-2014年春季第1期
管理
校名
星期中的一天
开始日期
结束日期
费用津贴价值
允许的管理时间
Javascript
<script type="text/javascript">
jQuery(document).ready(function(){
// jQuery('#txtstartdate').Zebra_DatePicker({
// format: 'd-m-Y'
// });
// jQuery('#txtenddate').Zebra_DatePicker({
// format: 'd-m-Y'
// });
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != param;
}, "Please choose a value!");
jQuery.validator.addMethod("notAdmin", function(value, element, param) {
// return this.optional(element) || value != param;
if(jQuery("#txtsession").val()=='Admin'){
return jQuery(this).val()=' ';
} else {
return false;
}
return jQuery("#txtsession").val() == 'Admin';
}, "Please choose a value!");
jQuery("#addpreassignmentform").validate({
rules:{
txtuser:{
required: true,
notEqual: "--select--"
},
txtsession:{
required: true,
notEqual: "--select--"
},
txtschoolname: 'required',
// txtdayofweek: 'required',
txtdayofweek: {
notAdmin: "Admin",
},
txtstartdate: 'required',
txtenddate: 'required',
},
messages:{
txtuser: "Please select a user",
txtsession: "Please select a session",
txtschoolname: "Please select a session so the school name will be loaded",
txtdayofweek: "Please select a session so the day of week will be loaded",
txtstartdate: "Please select a session so the start date will be loaded",
txtenddate: "Please select a session so the end date will be loaded",
}
});
jQuery("select[name='txtsession']").change(function(){
jQuery.ajax({
url:ajaxurl,
type:'post',
data:{action:'timecardapp_add_pre_assignments',postdata: jQuery("#addpreassignmentform").serialize()},
success: function(response){
var data=JSON.parse(response);
jQuery("input[name='txtschoolname']").val(data.event_category);
jQuery("input[name='txtdayofweek']").val(data.session_dayofweek);
jQuery("input[name='txtstartdate']").val(data.session_start_date);
jQuery("input[name='txtenddate']").val(data.session_end_date);
}
});
});
});
</script>
jQuery(文档).ready(函数(){
//jQuery('#txtstartdate')。Zebra_日期选择器({
//格式:“d-m-Y”
// });
//jQuery('#txtenddate')。Zebra_日期选择器({
//格式:“d-m-Y”
// });
addMethod(“notEqual”,函数(值、元素、参数){
返回此值。可选(元素)| |值!=param;
},“请选择一个值!”;
addMethod(“notAdmin”),函数(值、元素、参数){
//返回此值。可选(元素)| |值!=param;
if(jQuery(“#txtsession”).val()=“Admin”){
返回jQuery(this).val()='';
}否则{
返回false;
}
返回jQuery(“#txtsession”).val()=“Admin”;
},“请选择一个值!”;
jQuery(#addpreassignmentform”).validate({
规则:{
txtuser:{
要求:正确,
notEqual:“--选择--”
},
TXT会话:{
要求:正确,
notEqual:“--选择--”
},
txtschoolname:“必需”,
//txtdayofweek:“必需”,
txtdayofweek:{
notAdmin:“Admin”,
},
txtstartdate:“必需”,
txtenddate:“必需”,
},
信息:{
txtuser:“请选择一个用户”,
txtsession:“请选择一个会话”,
txtschoolname:“请选择一个会话,以便加载学校名称”,
txtdayofweek:“请选择一个会话,以便加载星期几”,
txtstartdate:“请选择一个会话,以便加载开始日期”,
txtenddate:“请选择一个会话,以便加载结束日期”,
}
});
jQuery(“选择[name='txtsession']”)。更改(函数(){
jQuery.ajax({
url:ajaxurl,
类型:'post',
数据:{action:'timecardapp_add_pre_assignments',postdata:jQuery(“#addpreassignmentform”).serialize(),
成功:功能(响应){
var data=JSON.parse(响应);
jQuery(“input[name='txtschoolname']”).val(data.event_category);
jQuery(“input[name='txtdayofweek']”)val(data.session\u dayofweek);
jQuery(“input[name='txtstartdate']”)val(data.session\u start\u date);
jQuery(“input[name='txtenddate']”)val(data.session\u end\u date);
}
});
});
});
主要问题是jQuery(“#txtsession”).val()
返回的是值
属性,而不是
中的文本。因此它给出了52
,因此表达式25=='Admin'
为false。相反,您需要使用.text()
获取所选元素。因此,您将替换:
jQuery("#txtsession").val()
与:
请注意将PHP代码转换为它生成的HTML(这样我们可以更清楚地看到实际的
$("#txtsession option:selected").text()