2015-09-20 145 views
1

我正在使用计算器小部件,我可以在输入字段中输入随机值,然后在单击“go”按钮时自动计算小部件。如何使用jquery/javascript设置预填充的输入字段?

现在我想插入/ prefill值到这个输入字段,因为需要计算的值来自服务器。但问题是,这个输入字段显然只对按键有反应。我试着这样做:

$('input[name="value"][data-type-money]').val('150.000').focus(); 

$('input[name="value"][data-type-money]').val('150.000').select(); 

这prefills输入字段所需的值,但是当我点击“转到”按钮计算失败,只要我不手动输入值进入输入字段。所以,最终我的解决方案不起作用。

有谁知道我该如何解决这个问题?

+0

你是什么用于将数据发送到服务器?阿贾克斯?我们可以看到这些代码吗? –

+0

@DarrenSweeney对不起,计算器是一个外部脚本,例如小部件。我无法直接访问代码...:-s – Steve

+0

开发者控制台中有任何错误吗?我试过你的脚本,它工作正常:https://jsfiddle.net/y63rkvL9/。也许这是一个格式问题(逗号','而不是点'。'为十进制数字)? –

回答

0

编辑,更新

输入字段 - 和反应只在按键,手动输入我的意思是,当值

如果inputvalue属性不能改变,尝试更换元件使用.replaceWith()

$('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" />

+0

嗨,输入字段是''并且仅在按键时作出反应,我的意思是当手动输入值时...所以你的解决方案不起作用: -/ – Steve

+0

@Steve嗨,jQuery在文档中可用吗?尝试使用'.replaceWith()';查看更新的帖子 – guest271314

0

如果数据更改频繁,您还可以使用setInterval功能:

<input name="value" data-type-money="money"> 
setInterval (function(){ 
    var moneyValue = "150.000"; 
    $('input[name="value"][data-type-money]').val(moneyValue); 
},1000); 

小提琴这里:http://jsfiddle.net/85pbnnu1/

,或者你可以这样做:

$(document).ready(function(){ 
    $('input[name="value"][data-type-money]').val('150.000').change(); 
});