Как разрешить выбирать только предопределенные параметры с помощью jquery ui combobox? - PullRequest
2 голосов
/ 19 ноября 2011

Здесь - мой текущий выпадающий список jquery ui.Он использует удаленный источник данных. Здесь - подход, применяемый к стандартному комбинированному списку.Но я не уверен, как применить это в моем случае.

1 Ответ

3 голосов
/ 19 ноября 2011

Просто используйте событие change, чтобы увидеть, определено ли ui.item:

/* snip */
change: function (event, ui) {
    if (!ui.item) { 
        this.value = 'Any City';
    }
}

Обновленный пример: http://jsfiddle.net/FL7Nx/

Согласно вашему комментарию ниже, если вы хотите динамически определить, к чему должно возвращаться значение по умолчанию, вы можете присвоить это значение выбранной опции в методе _create виджета:

_create: function() {
    var self = this,
        select = this.element.hide(),
        selected = select.children(":selected"),
        value = selected.val() ? selected.text() : "",
        defaultValue = value;

Затем в функции change:

change: function (event, ui) {
    if (!ui.item) { 
        this.value = defaultValue;
    }
}

Обновленный пример: http://jsfiddle.net/jmdx4/

...