添加jquery日期选择器选项后,HTML输入值将消失
HTML input value disappears after adding jquery datepicker option?
我有多个文本输入,如下所示:
<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);
该值不会消失,但每当我添加任何jquery日期选择器选项时,该值就会消失!?
我认为问题在于初始化,请尝试以下操作:
$(function(){
$('.datepicker').each(function(){
$(this).datepicker({"changeYear": true});
});
});
这是一个工作小提琴
稍后尝试此行以纠正问题:
$(".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?
}
});
您应该使用此选项设置初始日期:
$( ".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');
相关文章:
- Angularjs$编译输入html或元素
- 将输入 html 元素动态关联到颜色选取器
- 如何使用 JavaScript 显示 html 输入:.html(' < input type=“text” /
- 在输入 HTML 表单上从 Java 脚本传递参数
- 如何根据用户输入 HTML 更新多个 SPAN 元素
- 如何计算输入 HTML 元素的宽度,使其与其内容的大小相匹配
- 如何在输入 html 中编写一个 js var 值
- Javascript:如何获取所选复选框的所有值,推送到数组,然后放入输入HTML元素
- 如何使用Javascript自动输入html中行的序列号
- 特殊的点屏蔽输入 HTML-JavaScript
- 在select选项和input.text之间切换输入html
- 隐藏输入(html表单确认)-服务器端脚本?(php)
- 验证用户输入HTML子集
- 在KeyUp上输入HTML/JavaScript密码,用于浏览器自动填充
- 按钮内文本输入- HTML
- 在ie10,9中选择选项(html 5标签)在下一个输入(html 5标签)的位置
- 有麻烦输入html列表选项从xml文件
- 在非输入html标签上使用ng-keyup
- 在表数据中输入Html文本
- 中心文件输入- Html/Css