如何使用ajax调用更新多个表单元素

时间:2014-07-14 10:11:24

标签: javascript jquery html ajax json

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

虽然 #inst_name 是一个输入[type = text],其中有两件事情。

  1. 通过jquery autocomplete作为自动完成输入。
  2. 作为此脚本中mysql查询的名称参考。
  3. 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"
    }
    

1 个答案:

答案 0 :(得分:0)

尝试使用:

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

这样,您输入的内容越多,响应就越具体。

祝你好运:)