【问题标题】:HTML input range can't get current valueHTML 输入范围无法获取当前值
【发布时间】:2014-05-30 10:31:29
【问题描述】:

我正在使用 jQuery 获取当前范围值。 出于某种原因,我只能设法获得默认值,而不是用户选择。

这个 id 是 HTML:

<input id="hotel-range-min" type="range" min="0" max="200" value="20" />

这就是我试图获取当前值的方式:

 alert($("#hotel-range-min").attr('value'));

无论用户是否更改该值,警报始终为 20,并且需要为当前值。

我添加了一个 JSfiddle(我正在尝试从范围字段中获取最小值,现在它是在单击按钮时发出警报):

http://jsfiddle.net/natalipolishuk/fsKh8/2/

【问题讨论】:

    标签: javascript jquery html input range


    【解决方案1】:

    试试

    alert($("#hotel-range-min").val());
    

    干杯

    【讨论】:

    • 非常感谢,它成功了 :) 你能详细说明我所做的和你的建议之间的区别吗?
    • "尽管如此,关于checked 属性最重要的概念是它不对应于checked 属性。该属性实际上对应于defaultChecked 属性,应该只用于设置复选框的初始值...对于其他动态属性也是如此,例如selected和value。” - see here
    • 不能真正解释你的区别对不起。两者都在标签内获取值,但好吧,它是浏览器,你不工作的方式;)
    • @user2828251 attr('value')对应defaultValue属性(即加载dom时元素的值,而value()获取当前值属性)
    【解决方案2】:

    你也可以试试

    alert($("#hotel-range-min").prop('value'));
    

    但是,如果您要获取价值,建议您使用.val() 方法。

    您可以在此link 上看到val()attr() 之间的区别,以及.prop().attr() here 之间的区别

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-13
      • 1970-01-01
      • 2015-09-29
      相关资源
      最近更新 更多