在这里,我们将给大家分享关于javascript–用于比较开始和结束日期的jQuery验证的知识,同时也会涉及到如何更有效地javascript–jQuerydatepicker:如何设置开始和结束日
在这里,我们将给大家分享关于javascript – 用于比较开始和结束日期的jQuery验证的知识,同时也会涉及到如何更有效地javascript – jQuery datepicker:如何设置开始和结束日期、javascript – Jquery日期比较、javascript – jQuery验证代码的工作原理、javascript – Jquery验证删除规则不起作用的内容。
本文目录一览:- javascript – 用于比较开始和结束日期的jQuery验证
- javascript – jQuery datepicker:如何设置开始和结束日期
- javascript – Jquery日期比较
- javascript – jQuery验证代码的工作原理
- javascript – Jquery验证删除规则不起作用
javascript – 用于比较开始和结束日期的jQuery验证
我有两个领域.一个用于person_start_date,另一个用于person_end_date.两者都有三个单独的字段,分别为年,月,日.我想验证像人员结束日期>人员开始日期.提前致谢.
html.erb
<%= datetime_select :person_start_date %>
<select id="person_start_date_1i" name="person[start_date(1i)]"> ... </select>
<select id="person_start_date_2i" name="person[start_date(2i)]"> ... </select>
<select id="person_start_date_3i" name="person[start_date(3i)]"> ... </select>
html.erb
<%= datetime_select :person_end_date %>
<select id="person_end_date_1i" name="person[end_date(1i)]"> ... </select>
<select id="person_end_date_2i" name="person[end_date(2i)]"> ... </select>
<select id="person_end_date_3i" name="person[end_date(3i)]"> ... </select>
解决方法:
这是一个建议:
var startDate = new Date(
$('#person_start_date_1i').val(),
$('#person_start_date_2i').val() - 1,
$('#person_start_date_3i').val()
);
var endDate = new Date(
$('#person_end_date_1i').val(),
$('#person_end_date_2i').val() - 1,
$('#person_end_date_3i').val()
);
if (endDate > startDate) {
// do something
}
javascript – jQuery datepicker:如何设置开始和结束日期
$('#datepicker').datepicker({ minDate: new Date('30/11/2014'),maxDate: new Date('03/05/2015'),setDate: new Date('30/11/2014') });
See jsFiddle
解决方法
$('#datepicker').datepicker({ minDate: new Date(2014,10,30),maxDate: new Date(2015,2,5),setDate: new Date(2014,30) });
Live Demo
正如Pluto也提到的那样,你也可以用MM / DD / YYYY格式化它.
javascript – Jquery日期比较
您好iam使用以下代码将输入的日期与当前日期进行比较……但它不起作用……
$('#<%=txtOrderDate.ClientID%>').change(function() {
var date = $('#<%=txtOrderDate.ClientID%>').val();
var arrDate = date.split("/");
var today = new Date();
var useDate = new Date(arrDate[2], arrDate[1] - 1, arrDate[0]);
if (useDate > today) {
alert('Please Enter the correctDate');
$('#<%=txtOrderDate.ClientID%>').val('');
}
});
如果有人知道的话请帮帮我……谢谢….
解决方法:
我试图复制你的代码,这适用于我的机器
$('#txtBox').change(function() {
var date = $(this).val();
var arrDate = date.split("/");
var today = new Date();
useDate = new Date(arrDate[2], arrDate[1] -1, arrDate[0]);
if (useDate > today) {
alert('Please Enter the correctDate');
$(this).val('');
}
});
我从useDate中删除了var,并注意到新的Dateparameter是(y,m,d).
javascript – jQuery验证代码的工作原理
http://jsfiddle.net/nK7Pw/
这似乎工作正常,但我有一个问题,在HTML部分,没有提到错误类,那么代码如何在每个字段前面显示错误? jQuery部分也没有这样的解释.谢谢你的解释.
解决方法
errorClass: "error",errorElement: "label",
它定义了发生错误时要放在DOM中的默认类和对象.
它有一个内部调用的错误放置函数.它将遍历错误列表,然后在元素&上调用showLabel.信息
defaultShowErrors: function() { for ( var i = 0; this.errorList[i]; i++ ) { var error = this.errorList[i]; this.settings.highlight && this.settings.highlight.call( this,error.element,this.settings.errorClass,this.settings.validClass ); this.showLabel( error.element,error.message ); }
然后它出现并运行showLabel函数.
showLabel: function(element,message) { var label = this.errorsFor( element ); if ( label.length ) { // refresh error/success class label.removeClass().addClass( this.settings.errorClass ); // check if we have a generated label,replace the message then label.attr("generated") && label.html(message);
如果标签已存在那么它将刷新错误类并在标签中设置新消息.
如果它不存在那么我们制作一个.它有一个大的构造函数块,设置属性和类以及消息.
} else { // create label label = $("<" + this.settings.errorElement + "/>") .attr({"for": this.idOrName(element),generated: true}) .addClass(this.settings.errorClass) .html(message || "");
它为IE显示标签做了一些额外的麻烦
if ( this.settings.wrapper ) { // make sure the element is visible,even in IE // actually showing the wrapped element is handled elsewhere label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); }
在这里,我们有DOM插入代码.
if ( !this.labelContainer.append(label).length ) this.settings.errorPlacement ? this.settings.errorPlacement(label,$(element) ) : label.insertAfter(element); }
这一切都是从jQuery.validation源粘贴的.如果有其他不清楚的地方,请随意询问.只是单独搜索文件并阅读源代码应该会有所帮助.我只是搜索“错误”
javascript – Jquery验证删除规则不起作用
我根据输入动态设置验证.在添加验证之前,我将删除规则并添加元素是必需的.设置规则删除后,消息不会消失.
for (var i = 0; i < data.length; i++) {
switch (data[i]["FieldName"]) {
case "ADDRESS_1":
$('[name="HomeAddress1Text"]').rules("remove");
if (data[i]["required"] == true) {
$('[name="HomeAddress1Label"]').addClass("required");
$('[name="HomeAddress1Text"]').rules("add", {
required: true,
messages: {
required: "required"
}
});
} else {
$('[name="HomeAddress1Label"]').removeClass("required");
}
break;
case "ADDRESS_2":
$('[name="HomeAddress2Text"]').rules("remove");
if (data[i]["required"] == true) {
$('[name="HomeAddress2Label"]').addClass("required");
$('[name="HomeAddress2Text"]').rules("add", {
required: true,
messages: {
required: "required"
}
});
} else {
$('[name="HomeAddress2Label"]').removeClass("required");
}
break;
}
}
上面的图像1我选择了Gayana国家这个国家地址line2是必需的并得到错误信息.这是正确的然后我已经更改为美国,我已删除地址Line2的规则,但仍然显示消息.如何在更改我的下拉列表后删除所有邮件并查看何时再次提交?
解决方法:
而不是删除所需的类,使用$.rules(‘remove’,…)函数:
$('[name="HomeAddress1Label"]').rules('remove',{
required:true
});
您可能需要在此更改后重新验证 –
$('form').valid();
关于javascript – 用于比较开始和结束日期的jQuery验证的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于javascript – jQuery datepicker:如何设置开始和结束日期、javascript – Jquery日期比较、javascript – jQuery验证代码的工作原理、javascript – Jquery验证删除规则不起作用等相关内容,可以在本站寻找。
本文标签: