我正在使用一个计算器小部件,我可以在输入字段中输入随机值,然后小部件在单击"go"按钮时自动计算。
现在我想在这个输入字段中插入/预填充值,因为需要计算的值来自服务器。问题是,这个输入字段显然只对按键有反应。我试着这样做:
$('input[name="value"][data-type-money]').val('150.000').focus();
和
$('input[name="value"][data-type-money]').val('150.000').select();
在输入字段中加上所需的值,但是当我点击"go"按钮时,只要我不手动将值输入输入字段,计算就会失败。所以,最后我的解决方案不起作用。
有谁知道我怎么解决这个问题吗?
如果数据变化频繁,你也可以使用setInterval函数:
<input name="value" data-type-money="money">
setInterval (function(){
var moneyValue = "150.000";
$('input[name="value"][data-type-money]').val(moneyValue);
},1000);
here提琴:http://jsfiddle.net/85pbnnu1/
或者直接输入:
$(document).ready(function(){
$('input[name="value"][data-type-money]').val('150.000').change();
});
编辑,更新
输入字段为-并且仅在按下键时起作用,我的意思是当手动输入值时
如果input
value
属性不能改变,尝试使用.replaceWith()
将DOM
中的元素替换为html
的值设置
$('input[name="value"][data-type-money]')
.replaceWith("<input name=value data-type-money type=text value=150.00 />")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<input name="value" data-type-money type="text" />