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> 

注:随意提出改进意见。

+0

给您的输入字段像#input_parameter,比$('#input_parameter')。val() – pszaba 2014-10-30 12:06:19

+0

@pszaba:这似乎没有帮助。我得到相同的结果。只有在Firefox上刷新后才会更新输入。 Chrome似乎重置了输入字段,但服务器日志显示它发送NaN(空)事件,尽管盒中有一个数字。 – gurdulilfo 2014-10-30 12:20:17

+0

我知道这不是解决你的问题,但你写道:“注意:随意建议改进。”,id总是更好 – pszaba 2014-10-30 12:22:10

请尝试这样的事情

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