我有以下多个文本输入:
<input type="text" class="datepicker" value="11-11-2016">
以及jquery脚本:
$(".datepicker").each(function() {
$(this).datepicker();
$(this).datepicker("option", "changeYear", true);
});
输入值在页面加载后立即消失!
如果我删除该选项:
$(this).datepicker("option", "changeYear", true);
..。该值不会取消,但是每当我添加任何选项时--这个值就不正确了!?
发布于 2016-07-28 12:50:45
我认为这是在初始化过程中的问题,尝试如下:
$(function(){
$('.datepicker').each(function(){
$(this).datepicker({"changeYear": true});
});
});
这是一个工作的小提琴
发布于 2016-07-28 12:45:37
以后试着用这句话来纠正这个问题:
$(".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?
}
});
发布于 2016-07-28 12:55:51
您应该使用此选项设置初始日期:
$( ".selector" ).datepicker( "setDate", "10/12/2012" );
在代码示例中:
$(".datepicker").each(function() {
$(this).datepicker();
$(this).datepicker("option", "changeYear", true);
$(this).datepicker( "setDate", "10/12/2012" );
});
https://stackoverflow.com/questions/38636706
复制相似问题