如何使用jquery自动完成从数据库中获取2个值

时间:2017-06-03 12:58:45

标签: php jquery mysqli autocomplete

如果我无法说清楚,请提前抱歉。

我有一个包含2列item_descriptionitem_price的表格,我有2个input个标签,一个用于项目名称,另一个用于

如果用户输入项目名称并从autosuggest 价格中选择一个,我现在使用jQuery自动完成功能获取item_description我想要的内容{1}}字段应自动填充所选的项目名称

这是我的php页面:

input

这是js:

$searchTerm = $_GET['term'];
$query = $db->query("SELECT * FROM items WHERE item_description LIKE '%".$searchTerm."%' ORDER BY item_description ASC");

while ($row = $query->fetch_assoc()) {
    $data[] = $row['item_description'];
    $data[] = $row['item_price'];
}

//return json data;
echo json_encode($data);

希望能提前得到一些帮助。

1 个答案:

答案 0 :(得分:0)

希望我理解你的意思, 你总是可以编写自己的自动完成功能

JS:

$(document).ready(function(){

    var jsonAccArr = {};
    function Init() {
        var json =  [
                        { 'item_description': 'shlomi', 'item_price': 3 },
                        { 'item_description': 'yoni', 'item_price': 8 },
                        { 'item_description': 'david', 'item_price': 1 },
                        { 'item_description': 'roni', 'item_price': 5 },
                    ];

        json.forEach(function(element) {
            jsonAccArr[element['item_description']] = element['item_price'];
            $("#items").append("<option value='" + element['item_price'] + "'>" + element['item_description'] + "</option>");
        });
        var selectedName = $("#items option:selected").text();
        $("#price").html(jsonAccArr[selectedName]);
    }


    Init();
    $("#items").change(function() {
        var selectedName = $("#items option:selected").text();
        $("#price").html(jsonAccArr[selectedName]);
    });

});

HTML:

<div class="ui-widget">
    <label for="items">Product: </label>
    <select id="items">
    </select>

    <br>

    <label for="price">Price:</label>
    <span id="price"></span>
</div>

jsFiddle链接: Code Example