我的html中有3个变量:
开始日期(文字输入)
<input size="16" name="start_date" type="text" class="m-wrap">
结束日期(文字输入)
<input size="16" name="end_date" type="text" class="m-wrap">
频率(下拉列表)
<select class="span3 chosen" name="summarize" tabindex="1">
<option value="1">15 minutes</option>
<option value="2">30 minutes</option>
<option value="3">1 hour</option>
<option value="4">3 hours</option>
</select>
我想使用jquery在3变量之间进行验证输入,如果是diff(start_date和end_date)&gt; 3个月,总结只能使用值> = 1小时(值3和4)。 id = Form_1中的所有变量。
我如何进行此验证?任何示例代码将不胜感激。
答案 0 :(得分:0)
$(function () {
$('input[name="start_date"], input[name="end_date"]')
.change(function () {
// check that both dates are populated and valid, if not than return
// if the difference between the start date and the end date is more than
// three months, than hide options less than an hour, otherwise return
$('select[name="summarize"] > option:lt(2)').hide();
});
});
答案 1 :(得分:0)
试试jQuery UI Validation。在这里,您可以轻松定义自定义规则验证,然后分配给输入字段。如果您遇到任何问题,请告诉我。
答案 2 :(得分:0)
我假设您正在使用jQuery验证插件。如果没有,仍然可以使用逻辑。我承认这很粗糙。将以下方法添加到additional-methods.js
。此文件随jquery.validate.js
一起提供。
jQuery.validator.addMethod("frequency", function(value, element) {
var startdate = Date.parse($('input[name="start_date"]').val();
var enddate = Date.parse($('input[name="end_date"]').val();
difference = enddate-startdate;
if(difference>7776000){
if(value>2)
return true;
else
return false;
}
else
return true;
}, "Enter a higher frequency");
现在将班级frequency
添加到您的频率选择框中。
不要忘记在您的HTML中加入additional-methods.js
文件。这会为验证添加新的自定义规则。随意修补。