Javascript 添加jquery datepicker选项后HTML输入值消失?

Javascript 添加jquery datepicker选项后HTML输入值消失?,javascript,jquery,html,datepicker,Javascript,Jquery,Html,Datepicker,我有多个文本输入,如下所示: <input type="text" class="datepicker" value="11-11-2016"> 页面加载后,输入值立即消失 如果我删除该选项: $(this).datepicker("option", "changeYear", true); 。。。该值不会消失,但每当我添加任何jquery datepicker选项时,该值就会消失 稍后尝试这一行以纠正问题: $(".datepicker").each(function() {

我有多个文本输入,如下所示:

<input type="text" class="datepicker" value="11-11-2016">
页面加载后,输入值立即消失

如果我删除该选项:

$(this).datepicker("option", "changeYear", true);

。。。该值不会消失,但每当我添加任何jquery datepicker选项时,该值就会消失

稍后尝试这一行以纠正问题:

$(".datepicker").each(function() {
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
    $(this).attr("value", "11-11-2016");
});
如果根据
$(“.datepicker”)
属性是动态的,则使用以下属性:

function getElemAttributes(var element) {
    var attrs = {};
    var attrMap = element.attributes;

    $.each(attrMap, function (i, e) { attrs[e.nodeName] = e.nodeValue; });

    return attrs;
}
将所有属性作为对象获取。因此:

$(".datepicker").each(function() {
    $(this).datepicker();

    // Returns something like { id: "datepicker", ..., value: "11-11-2016" }
    var originalAttributes = getElemAttributes(this);

    // Do stuff that affects attr on element.
    $(this).datepicker("option", "changeYear", true);

    // Set element attributes from riginal attributes object.
    if (originalAttributes.hasOwnOroperty("value")) {
        $(this).attr("value", originalAttributes["value"]);
    }
    else {
        // Didn't originally have a "value" attribute - set some default here?
    }
});

我认为问题在于您的初始化,请尝试以下方法:

$(function(){

    $('.datepicker').each(function(){
        $(this).datepicker({"changeYear": true});
    });

});

这是一个工作日期

您应该使用此选项设置初始日期:

$( ".selector" ).datepicker( "setDate", "10/12/2012" );
在您的代码示例中:

  $(".datepicker").each(function() {
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
    $(this).datepicker( "setDate", "10/12/2012" );
  });
你需要这个:

$(document).ready(function () {

$('.datepicker').each(function(){
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
    $(this).datepicker( "setDate", $(this)[0].getAttribute('value') );
});

这个命令帮助我解决了像你这样的问题:

let date = $(this.dateInput.nativeElement).val().toString();
....
$(this.dateInput.nativeElement).datepicker().val(date).trigger('change');

根据,可以在初始化后添加该选项。我想将该方法用于其他目的。首先,我获取
未捕获的SyntaxError:Unexpected token var
,在移除
var
后,我获取
未捕获的TypeError:originalAttributes.hasOwnorProperty不是一个函数,当我将其与
$(this).val()一起使用时,它不是一个函数,由于格式的原因,我得到了错误的日期(我的值中使用了“11-11-2016”)。如果我首先设置格式选项,该值将消失。。。再说一遍。@bresleveloper请不要因为抢劫或抢劫而打扰人们。代码必须放在问题中,而不是放在外部代码托管服务上。
let date = $(this.dateInput.nativeElement).val().toString();
....
$(this.dateInput.nativeElement).datepicker().val(date).trigger('change');