如何更改jQuery Ui自动完成以让我使用ID如果我从数据库中获取文本?

时间:2011-10-25 18:44:06

标签: jquery events jquery-ui-autocomplete

我遇到麻烦因为我从db(mysql)中获取了一些文本,该文本应该填充自动完成但是从db中检索它,现在当我想使用自动完成的文本时不起作用,我需要在不使用自动完成的情况下获取文本的id(ui.item.id),我认为这是一个触发自动完成(.bind)的事件的问题,但我不知道如何修复,任何建议请帮助?我被困了

这是我的代码:

var ids = [];
$(function() {
    function split(val) {
        return val.split(/,\s*/);
    }

    function extractLast(term) {
        return split(term).pop();
    }

    $("#txtdestino_Email").bind("keydown", function(event) {
        if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) {
            event.preventDefault();
        }
    }).autocomplete({
        source: function(request, response) {
            $.getJSON("../../correo/controller/controllerAutocomplete.php", {
                term: extractLast(request.term)
            }, response);
        },

        focus: function() {
            return false;
        },
        select: function(event, ui) {
            var terms = split(this.value);



            terms.pop();
            // add the selected item
            terms.push(ui.item.value);
            // add placeholder to get the comma-and-space at the end
            terms.push("");
            this.value = terms.join(",");

            ids.push(ui.item.id);
            return false;
        }
    });
});

1 个答案:

答案 0 :(得分:5)

jQuery AutoSuggest之前的{p> Dew wilson具有以下用于选择值的选项

'selectedItemProp'和'selectedValuesProp',其中selectedValuesProp用于选择值,例如对于名称值集合,此选项用于值,而其他selectedItemProp用于名称。 'asHtmlID'选项有助于设置元素的HTML ID。最后,插件呈现ID为as_values_'CUSTOM_ID'的隐藏字段,其中包含选中的值,其中'CUSTOM_ID'是设置为'asHtmlID'选项的ID