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');