JQuery Автозаполнение и JQuery UI Диалог - PullRequest
1 голос
/ 08 июня 2009

У меня есть вопрос о том, как сотрудничать в автоматическом режиме с диалогом пользовательского интерфейса:

  1. Существует входной текст, который включает автозаполнение (данные не являются простым массивом строк, поэтому их необходимо проанализировать). Эта работа хорошо сделана:

    <input type="text" id="styleno" name="styleno" >
    
    $("#styleno").autocomplete("${suggest}", {
                    parse:function(raw){
                 var parsed = [];
                 for (var i=0; i < raw.model.length; i++) {    
    
                    var row = raw.model[i];
                    parsed.push({
                        data: row,
                       value: row,
                      result: row.styleNo
                    });
                 }
                 return parsed;
    
            },
            formatMatch: function(row, i, max) {
                     return row.styleNo;
                    },
                    formatItem: function(data, i, n, value) {
                    //
    
                            return  data.id+data.styleNo;
                    }
            });
    
  2. Когда результат выбран из предложенного списка, я хочу открыть диалоговое окно, заполнить что-то из проанализированного результата. Поэтому я использую функцию «результата»:

    $("#styleno").result(function(data,values){
            $('#itemDiv').dialog('open');
    }
    

    Диалоговое окно открыто, но фокус остается на автоматически предложенном поле ввода (<input type="text" id="styleno" name="styleno" >). Поэтому я использую этот код:

    $("#styleno").trigger("unautocomplete");
    

    Теперь с диалоговым окном все в порядке, но поле ввода утратило способность автозаполнения.

Что мне делать? В соответствии с выбранным элементом из списка предложений, затем появляется диалоговое окно с некоторым полем ввода. После того как пользователь заполнит поле в диалоговом окне, закройте его, вернитесь к автоматически предложенному полю, все еще используя функцию автоматического предложения.

1 Ответ

0 голосов
/ 08 июня 2009

Не на 100% уверен, что это работает так, но вы можете попробовать следующее:

$("#styleno").blur();

Похоже на событие, которое вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...