首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML输入值在添加选项后消失?

HTML输入值在添加选项后消失?
EN

Stack Overflow用户
提问于 2016-07-28 12:42:37
回答 5查看 1.2K关注 0票数 2

我有以下多个文本输入:

代码语言:javascript
运行
复制
<input type="text" class="datepicker" value="11-11-2016">

以及jquery脚本:

代码语言:javascript
运行
复制
  $(".datepicker").each(function() {
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
  });

输入值在页面加载后立即消失!

如果我删除该选项:

代码语言:javascript
运行
复制
$(this).datepicker("option", "changeYear", true);

..。该值不会取消,但是每当我添加任何选项时--这个值就不正确了!?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-07-28 12:50:45

我认为这是在初始化过程中的问题,尝试如下:

代码语言:javascript
运行
复制
$(function(){

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

});

这是一个工作的小提琴

票数 1
EN

Stack Overflow用户

发布于 2016-07-28 12:45:37

以后试着用这句话来纠正这个问题:

代码语言:javascript
运行
复制
$(".datepicker").each(function() {
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
    $(this).attr("value", "11-11-2016");
});

如果每个$(".datepicker")的属性是动态的,那么使用以下方法:

代码语言:javascript
运行
复制
function getElemAttributes(var element) {
    var attrs = {};
    var attrMap = element.attributes;

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

    return attrs;
}

将所有属性作为对象获取。所以:

代码语言:javascript
运行
复制
$(".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?
    }
});
票数 1
EN

Stack Overflow用户

发布于 2016-07-28 12:55:51

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

代码语言:javascript
运行
复制
$( ".selector" ).datepicker( "setDate", "10/12/2012" );

在代码示例中:

代码语言:javascript
运行
复制
  $(".datepicker").each(function() {
    $(this).datepicker();
    $(this).datepicker("option", "changeYear", true);
    $(this).datepicker( "setDate", "10/12/2012" );
  });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38636706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档