GVKun编程网logo

javascript – 用于比较开始和结束日期的jQuery验证

10

在这里,我们将给大家分享关于javascript–用于比较开始和结束日期的jQuery验证的知识,同时也会涉及到如何更有效地javascript–jQuerydatepicker:如何设置开始和结束日

在这里,我们将给大家分享关于javascript – 用于比较开始和结束日期的jQuery验证的知识,同时也会涉及到如何更有效地javascript – jQuery datepicker:如何设置开始和结束日期、javascript – Jquery日期比较、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:如何设置开始和结束日期

javascript – jQuery datepicker:如何设置开始和结束日期

如何设置jQuery日期选择器的开始日期,以及开始和结束日期.我尝试了这个,但日历仍然打开到7月(今天),最小和最大之外的日期不是灰色的?

$('#datepicker').datepicker({
    minDate: new Date('30/11/2014'),maxDate: new Date('03/05/2015'),setDate: new Date('30/11/2014')
});

See jsFiddle

解决方法

您正在错误地创建日期对象. javascript日期对象参数是年,月,日.但是,month参数为零索引,因此请确保减去一个.有关更多信息,请查看 Date object reference.

$('#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日期比较

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验证代码的工作原理

javascript – jQuery验证代码的工作原理

我发现本教程使用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验证删除规则不起作用

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验证删除规则不起作用等相关内容,可以在本站寻找。

本文标签: