我有一个包含几个字段的表单,其中一个字段应根据另一个字段的值进行更新。第一个字段的值被 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); 填充它来确认这一点
所以看来问题出在我尝试更新值的方式上,但我无法克服这个问题。
最佳答案
删除 val()
中的 html()
。
$.get("/handler?rid=" + $("input#rid").val(), function(update_rid){
$("#name").val(update_rid);
});
它仍然可能取决于从您的服务器返回的数据类型。
作者注释
保持低调!
将您的内联 onkeyup 处理程序
替换为
$(function(){
$('#rid').bind('keyup', function(){
lookup($(this).val());
});
});
关于jquery - 使用 Jquery 更新输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3043212/