JQuery自动完成如何在自动完成文本输入中编写标签?

Ali*_*lan 6 javascript jquery jquery-ui jquery-ui-autocomplete

您好我正在使用jQuery UI自动完成.

我从下拉区域获取值和标签.我将在隐藏的输入中写入值并稍后使用它.我可以这样做,但是我不能在选择项之后在搜索输入中写标签.当我在下拉框中选择一行时,行的值将显示在搜索区域(#tags)中,但我希望标签位于此处.

这是我的代码:谢谢

<html>
    <head>
        <script>
        $(document).ready(function () {
            var selectedLabel = null;
            var yerler = [
                { "value": 3, "label": "Adana Seyhan" }, 
                { "value": 78, "label": "Seyhan Adana" },
                { "value": 17, "label": "Paris Fransa" }, 
                { "value": 123, "label": "Tokyo Japan"}
            ];

            $("#tags").autocomplete({
                source: yerler,
                select: function (event, ui) {
                    $("#projeKatmanRaporCbx").val(ui.item.value);
                    $("#tags").val(ui.item.label);
                }
            });    
        });
        </script>
    </head>
    <body>
        <div class="ui-widget">
            <label for="tags">Tags: </label>
            <input id="tags" />
            <input type="text" id="projeKatmanRaporCbx" />
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Sal*_*n A 10

在事件中添加return false(或event.preventDefault)select可以解决问题的一半.剩下的问题可以通过添加focus事件来解决:

$("#tags").autocomplete({
    source: yerler,
    focus: function (event, ui) {
        event.preventDefault();
        $("#tags").val(ui.item.label);
    },
    select: function (event, ui) {
        event.preventDefault();
        $("#projeKatmanRaporCbx").val(ui.item.value);
        $("#tags").val(ui.item.label);
    }
});
Run Code Online (Sandbox Code Playgroud)

在这里演示