在 jquery 中设置 <input type="date"... 的值

Posted

技术标签:

【中文标题】在 jquery 中设置 <input type="date"... 的值【英文标题】:Set the value of <input type="date"... in jquery 【发布时间】: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 相似但不可互换。每个都有自己的用例。 【参考方案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);

【讨论】:

以上是关于在 jquery 中设置 <input type="date"... 的值的主要内容,如果未能解决你的问题,请参考以下文章

在实体框架中设置 HTML <input> step 属性

在Jquery Datepicker中设置日期的初始值[重复]

Javascript/jQuery:在多个选择中设置值(选择)

从复选框列表中设置复选框以使用 jquery 取消选中

在按键事件中使用jQuery在textarea中设置文本[重复]

使用jquery在CSS中设置背景图像[重复]