jQuery获取输入字段的旧值
问题描述:
在下面的代码中,当我更改框中的值并单击“更新”时,jQuery获取输入字段的旧值。刷新页面时(刷新后保留新输入)并再次单击“更新”,则使用新值。我究竟做错了什么?jQuery获取输入字段的旧值
<body>
<script type="text/javascript">
$(document).ready(function() {
var submit_command = function(e) {
$.getJSON($SCRIPT_ROOT + '/__test',
e.data,
function(data) {
$("#result").text(data.test);
});
return false;
};
$('a#update_parameter').bind('click', {
name: "Param",
test: parseFloat($('input:text[name=input_parameter]').val().replace(",", "."))
}, submit_command);
});
</script>
<div class="parameter">
<span class="parameter_name">My Parameter</span>
<input type="text" name="input_parameter" size=3 />
<a href=# id="update_parameter">Update</a>
<span id="result">?</span>
</div>
</body>
注:随意提出改进意见。
答
请尝试这样的事情
$('a').click(function(){
alert($('input[name=input_parameter]').val());
});
检查小提琴 - http://jsfiddle.net/2bt5pqxb/ - 它提醒插入值。我希望这可以帮助
+0
我不能投票(没有足够的声望),但这解决了我的问题。谢谢!在你的回答中,你能否详述一下为什么?是否因为装入页面时发生绑定,并且之后无法更改数据? – gurdulilfo 2014-10-30 12:32:52
+0
嗨,我没有检查你的解决方案有什么问题,因为服务器调用..我很高兴我的答案做到了。我不熟悉你在按钮上点击单击的方式,所以我不能说出了什么问题 – fDruga 2014-10-30 15:24:40
给您的输入字段像#input_parameter,比$('#input_parameter')。val() – pszaba 2014-10-30 12:06:19
@pszaba:这似乎没有帮助。我得到相同的结果。只有在Firefox上刷新后才会更新输入。 Chrome似乎重置了输入字段,但服务器日志显示它发送NaN(空)事件,尽管盒中有一个数字。 – gurdulilfo 2014-10-30 12:20:17
我知道这不是解决你的问题,但你写道:“注意:随意建议改进。”,id总是更好 – pszaba 2014-10-30 12:22:10