【问题标题】:Set the value of <input type="date"... in jquery在 jquery 中设置 <input type="date"... 的值
【发布时间】:2013-05-29 04:51:06
【问题描述】:

不明白为什么这不起作用。我有一个简单的 'input type="date"' 字段......

<input type="date" name="Date"/>

每当使用此功能加载页面时,我都会尝试将值设置为今天的日期...

function setDate(date){
    z=$(date).attr('value');

    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!

    var yyyy = today.getFullYear();
    if(dd<10){dd='0'+dd} 
    if(mm<10){mm='0'+mm} 
    today = yyyy+'-'+mm+'-'+dd;     

    $(date).attr('value',today);
}

我已经完成了正常的调试,我知道这个函数正在被调用,而且我知道变量“今天”实际上以“年年月日-月日日”的形式保存了今天的日期。我尝试过使用所有不同类型的日期格式(dd/mm/yyyy、dd-mm-yyyy 等)

知道为什么这不起作用吗?

【问题讨论】:

  • 试试$(date).val(today)
  • 另外,使用propattr 已弃用。
  • 另外,date 是什么?我假设它已经是一个 DOM 元素或选择器,对吧?否则$(date) 一定是问题所在。
  • 这是日期的id,我忘了在我的例子中包含它。
  • @Colleen - 您在哪里看到 attr 已被弃用?这对我来说是个新闻。 attr 和 prop 相似但不可互换。每个都有自己的用例。

标签: javascript jquery html date


【解决方案1】:

对于输入,只需使用 .val()

读取值

  z=$(date).val();

设置值

$(date).val(today);

【讨论】:

  • @Hoser 如果这行得通,你应该给 Sushanth 答案。
  • 浏览器不支持日期输入类型会怎样?
  • 它每次都给null,日期不被获取@Sushanth--
  • @sushanth 我的日期值采用 yyyy-mm-dd 的形式...每次用户通过时,它都存储在一个变量“dat”中......例如:var dat= “2013-05-16”,我必须在日期选择器中将此日期设置为默认日期...我尝试了 $(date).val(dat)...但它不起作用;
【解决方案2】:
$('input[name=Date]').val(today);

【讨论】:

    猜你喜欢
    • 2013-05-22
    • 2023-02-02
    • 1970-01-01
    • 2015-01-14
    • 2016-01-23
    • 2022-12-07
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多