如何从JQuery UI自动完成搜索结果中填充select元素?

时间:2011-05-19 15:46:31

标签: jquery-ui select autocomplete populate

我是JQuery和Javascript的新手......

目前我正在使用以下技术或代码从JQuery UI自动完成的搜索结果集中填充输入框......

    var PopulateFields = function(event, ui){
                $('#Custid').val(ui.item.Custid);
                $('#Alpha1').val(ui.item.Alpha1);
                $('#Alpha2').val(ui.item.Alpha2);
                $('#CustName').val(ui.item.CustName);
                $('#Address1').val(ui.item.Address1);
                $('#Address2').val(ui.item.Address2);
                $('#City').val(ui.item.City);
                $('#State').val(ui.item.State);
    }
    $( "#search-by-custname" ).autocomplete({
                source: "cust_search_by_name.php",
                minLength: 4,
                select: PopulateFields
    });

php脚本从数据库中获取信息并通过JSON以下列格式将其喷回:

    [{"label":"A Tire Store","value":"A Tire Store","Custid":"10000","Alpha1":"COD123456","Alpha2":"TIRE","CustName":"A Tire Store","Address1":"123 Cherry Lane","Address2":"","City":"City of Bla","State":"FL","Zip":"555555"}]

这与输入框完美配合 但是,如果我想将State设为选择框,我如何使用客户记录中的现有值填充该选择框?

或者,那不可能吗?

我正在尝试创建一个数据输入表单,我想要的功能之一是当他们搜索要编辑的客户记录时,他们的搜索将填充表单上的所有字段,然后他们就可以编辑它们。

我认为State的选择框会为我节省一些数据验证逻辑......

我的另一个想法是使用状态的只读输入框(因为我知道JQuery UI自动完成将填充),然后创建一个“状态选择器”选择框,将填充只读输入“状态”框重新提交。

思想?

1 个答案:

答案 0 :(得分:0)

你是说你试过这个而且失败了吗?因为如果你有一个类似于

的选择
<select id="State">
    <option>AK</option>
    <option>FL</option>
    <option>WY</option>
</select>

然后调用$("#State").val("FL")即可。