无法使用jQuery更改输入值

时间:2015-03-29 23:38:23

标签: javascript jquery

我有一种情况,这三件事情同时为真。发生了什么事?

这是dom中的元素:

<input id="destroy_vehicle_section_4" name="driver[workables_attributes][0][_destroy]" type="text" value="1">

使用JQuery的val方法(或javascript&#39; s getElementById()。value)更改属性值后,使用控制台:

> $("#destroy_vehicle_section_4").val()
<- "test"

...... DOM保持不变。

我也可以使用JQuery的attr方法

更改值
> $("#destroy_vehicle_section_4").attr("value")
<- "hey"

DOM保持不变,第二个调用仍然显示&#34; test&#34;

这怎么可能?

这意味着我尝试使用jQuery更改输入失败。


N.B:我正在使用jQuery Mobile。

修改

对不起的解释感到抱歉。我首先使用attr(&#34;值&#34;,&#34;嘿&#34;)和val(&#34; test&#34;),控制台调用都没有改变DOM元素。但是如果你运行&#34; Getter&#34;控制台中的行,你得到上面的

2 个答案:

答案 0 :(得分:1)

获取一个值,您可以使用jQuery&#39; s .val()设置一个值,您需要将变量传递给参数.val("hey")

获取属性值,您可以使用jQuery&#39; s .attr("value")
设置属性值,您需要将第二个参数设置为.attr("value", "hey")

以上内容也适用于.prop()方法 如何正确使用这些方法,我建议你参考官方的jQuery文档。

答案 1 :(得分:0)

尝试在onclick,onload或document.ready()内部执行您的功能,或者只是

$(function(){

//your functions here...

});