【问题标题】:How can I populate a select element from JQuery UI Autocomplete search results?如何从 JQuery UI 自动完成搜索结果中填充选择元素?
【发布时间】:2011-08-29 00:18:50
【问题描述】:

我对 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 自动完成会填充它),然后创建一个“状态选择器”选择框来填充只读输入“状态”框重新提交。

想法?

【问题讨论】:

    标签: jquery-ui select autocomplete populate


    【解决方案1】:

    您是说您已经尝试过但失败了吗?因为如果你有一个类似于

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

    然后调用$("#State").val("FL") 就可以了。

    【讨论】:

    • 好吧...原谅我的无知,但是,如何硬编码“FL”的值从数据库返回的 JSON 字符串中提取数据?目前我已经尝试过 $('#State').val(ui.item.State);尝试填充选择框,但是,这不起作用。然而,那段代码将填充一个输入框。
    • 好的...我发现了部分问题。我忘记了我使用 JQuery UI 组合框(自动完成)来使选择框漂亮。因此,“Acutal”选择框被填充,但是,它没有显示在 JQuery UI 组合框(自动完成)中。我仍然不知道如何让它填充 JQuery UI 组合框(自动完成)。我愚蠢地忘记提到我在他们的示例中使用了 JQuery UI 的该功能。感谢您的帮助。
    • “硬编码”FL 值只是一个示例。我试图收集更多关于你所经历的信息。那么,您使用的是 jQuery UI Autocomplete Demo 中的 Combobox 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-15
    相关资源
    最近更新 更多