使用Jquery更新输入值

时间:2010-06-15 07:16:49

标签: jquery

我有一个包含几个字段的表单,其中一个字段应根据另一个字段的值进行更新。第一个的值是POST到另一个URL,返回的值应该用于填充第二个字段。这是代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script>        
    function lookup(rid) {
                    $.get("/handler?rid=" + $("input#rid").val(), function(update_rid){
                        $("#name").val(html(update_rid));
                    })
                }
    </script>
        <form name="new_alert">
            <input type="text" name="rid" id="rid" onkeyup="lookup(this.value);">
            <br />
            <input type="text" name="name" id="name">  
        </form>

POST工作正常,从/ hander返回正确的数据,我通过测试并使用$(“#testdiv”)填充它来确认.html(update_rid);

所以似乎问题出在我试图更新价值的方式,但我无法超越它。

3 个答案:

答案 0 :(得分:3)

除非你在某处定义了一个名为html的函数,否则你应该在没有它的情况下尝试它。

$("#name").val(update_rid);

答案 1 :(得分:2)

删除html()中的val()

$.get("/handler?rid=" + $("input#rid").val(), function(update_rid){
   $("#name").val(update_rid);
});

它仍然可能取决于您的服务器返回的数据类型。

作者注意

保持不引人注意!

将您的inline onkeyup handler替换为

$(function(){
    $('#rid').bind('keyup', function(){
        lookup($(this).val());
    });
});

答案 2 :(得分:0)

我建议输入,

<input type="text" name="rid" id="rid">

然后jQuery为

$('#rid').keyup(function(){
    var self = this
    $.get("/handler?rid=" + self.value , function(update_rid){
          $("#name").val(update_rid);
    });
})