У меня есть вопрос о том, как сотрудничать в автоматическом режиме с диалогом пользовательского интерфейса:
Существует входной текст, который включает автозаполнение (данные не являются простым массивом строк, поэтому их необходимо проанализировать). Эта работа хорошо сделана:
<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;
}
});
Когда результат выбран из предложенного списка, я хочу открыть диалоговое окно, заполнить что-то из проанализированного результата. Поэтому я использую функцию «результата»:
$("#styleno").result(function(data,values){
$('#itemDiv').dialog('open');
}
Диалоговое окно открыто, но фокус остается на автоматически предложенном поле ввода (<input type="text" id="styleno" name="styleno" >
). Поэтому я использую этот код:
$("#styleno").trigger("unautocomplete");
Теперь с диалоговым окном все в порядке, но поле ввода утратило способность автозаполнения.
Что мне делать? В соответствии с выбранным элементом из списка предложений, затем появляется диалоговое окно с некоторым полем ввода. После того как пользователь заполнит поле в диалоговом окне, закройте его, вернитесь к автоматически предложенному полю, все еще используя функцию автоматического предложения.