【问题标题】:Does an input have an "original value" attribute?输入是否具有“原始值”属性?
【发布时间】:2013-01-18 22:43:33
【问题描述】:

随着对 jQuery 的最新更改,有不同的方法,.prop().attr()

我想知道是否有办法在页面加载时获取输入的原始值?

我知道我能做到:

$('#input').data('originalValue', $('#input').val());

然后我可以通过

$('#input').data('originalValue');

但我想既然我可以说,find out the original checked state of a checkbox 我想也许有类似的价值?

【问题讨论】:

    标签: javascript jquery attributes default-value html-input


    【解决方案1】:

    您可以使用输入元素的defaultValue property

    例如:

    $('#input')[0].defaultValue
    

    请注意,通过将 jQuery 对象视为数组,我们可以直接访问 DOM 节点及其原​​生属性。

    jsFiddle demo

    【讨论】:

    • 你也可以使用占位符属性
    • @salexch 是的。为什么不将其发布为答案呢?但请注意,placeholder 是一个 HTML5 属性,仅限于一组特定的输入类型。
    • 这不是一个完整的答案。但也许你可以把它添加到你的
    • 我很好奇defaultValue的跨浏览器兼容性?
    【解决方案2】:

    您可以使用jQuery.get 获取元素并获取.defaultValue 属性:

    $('#input').get(0).defaultValue
    

    或者从 jQuery 1.6 开始使用jQuery.prop

    $('#input').prop("defaultValue");
    

    defaultChecked(单选框和复选框)和defaultSelected(选项)也是如此。

    【讨论】:

    • 我很好奇defaultValue的跨浏览器兼容性?
    • Interface HTMLInputElement。请注意,这并不意味着您应该写<input type="text" defaultValue="1">;这意味着对于 <input type="text" value="1">,表示该对象的 JavaScript 对象将包含属性 .defaultValue,其值 = 1,即使用户将其更改为其他内容。
    猜你喜欢
    • 2023-04-10
    • 2012-02-20
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 2011-12-17
    • 2010-12-12
    • 2020-06-21
    • 2019-08-07
    相关资源
    最近更新 更多