【问题标题】:How to update multiple form elements with ajax call如何使用 ajax 调用更新多个表单元素
【发布时间】:2014-07-14 10:11:24
【问题描述】:

在通过 jQuery 成功调用 ajax 后,我需要更新表单 div。我的页面上有一些表单元素。我想用从 ajax 调用返回的值填充它。这是json格式。

#inst_name 是一个输入[type=text],其中做两件事。

  1. 作为通过 jquery 自动完成的自动完成输入。
  2. 作为此脚本中 mysql 查询的名称参考。

HTML:

<input type="text" name="inst_name" id="inst_name" />


<form method="post" action="">
<textarea name="inst_addr" id="inst_addr"></textarea>
<select name="inst_prov" id="inst_prov">
<option value="1">Bangkok</option>
<option value="2">Chiang Mai</option>
<option value="3">Samui</option>
<option value="4">Phuket</option>
</select>



<input type="text" name="inst_tel" id="inst_tel" />
<input type="text" name="inst_fax" id="inst_fax" />


<label><input type="radio" name="inst_dep" id="inst_dep1" value="1" />Dep 1</label>
<label><input type="radio" name="inst_dep" id="inst_dep2" value="2" />Dep 2</label>
<label><input type="radio" name="inst_dep" id="inst_dep3" value="3" />Dep 3</label>
</form>

jQuery :

$('#inst_name').keyDown(function(){
    $.ajax({
        url: 'inc/form_institute.json.php',
        dataType:'json',
        data: {name:$('#inst_name').val()},
        success: function(data){
            $('#inst_addr').html(data.addr);
            $('#inst_prov').val(data.prov);
            $('#inst_zip').val(data.zip);
            $('#inst_tel').val(data.tel);
            $('#inst_fax').val(data.fax);
            $('#inst_dep').val(data.dep);
        }
    });
});

JSON:

{
"addr":"123/4 Kitty Ave.",
"prov":"80",
"zip":"12345",
"tel":"0753245675",
"fax":"075123456",
"dep":"2"
}

【问题讨论】:

  • 有模糊、焦点、按键、keyup、keydown、输入、粘贴等...你订阅什么事件取决于你想要什么行为?
  • @Wilf,并进行更改。试试 $('#inst_name').change(....

标签: javascript jquery html ajax json


【解决方案1】:

尝试使用:

$(document).on("keyup", "#inst_name", function(){
    //you're ajax here
}

这样你输入的越多,响应就越具体。

祝你好运:)

【讨论】:

  • hatzaviv,对不起,运气不好 (-- ")
  • 函数是否被触发?是字段值没有改变的问题吗?也许您收到的 JSON 包含不止一个对象,在这种情况下,您必须选择要显示的对象值。
  • hatzaviv,是的,它是由 blur() 触发的
  • 如果你尝试:$('#inst_name').keyup(function(){ });
  • 我试过哈扎维夫。但它比模糊更糟糕。因为它会搜索每个按键。说我有 10 个字符,它会搜索 10 次。
猜你喜欢
  • 2016-11-26
  • 2010-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-31
  • 2012-10-08
  • 1970-01-01
相关资源
最近更新 更多