#jquery #jquery-ui #autocomplete
#jquery #jquery-пользовательский интерфейс #автозаполнение
Вопрос:
После повторного открытия автозаполнение диалога не работает.
var create_product = function () {
isEdit = false;
$(".dialog_create_product").dialog({
autoOpen: true,
width: 800,
modal: true,
buttons: {},
open: function (event, ui) {
=> $( ".getInputComponent" ).autocomplete({
source: ['1','2','3'],
});
},
close: function (event, ui) {
$(".dialog_create_product").dialog("destroy")
},
beforeClose: function (event, ui) {
closeDialog();
}
});
};
HTML
<div class="divInput"align="center">
<input class = "getInputComponent" placeholder="name" type="text" maxlength="50"><button class="addComponent" >Add</button>
</div>
Даже если оператор автозаполнения выходит из функции диалога.
$(".dialog_create_product").on( "dialogopen", function( event, ui ) {$( ".getInputComponent" ).autocomplete({source: ['1','2','3']});} );
или
$(document).on( "dialogopen", function( event, ui ) {$( ".getInputComponent" ).autocomplete({source: ['1','2','3']});} );
Комментарии:
1. можете ли вы объяснить более подробно, чего вы хотите на самом деле?
2. Я использую диалог несколько раз. Откройте его, внесите некоторые изменения и сохраните его. Но когда я открываю свой диалог во второй раз, форма автозаполнения пуста. Он работает нормально, если я это делаю
.dialog("close")
, но я не могу использовать.dialog("destroy")
, и в том, что я используюdestroy
, есть ошибка.
Ответ №1:
Вы написали
close: function (event, ui) {
$(".dialog_create_product").dialog("close")
},
Измените на это
close: function (event, ui) {
$(this).dialog('destroy').remove()
},
Комментарии:
1. После закрытия этот диалог больше не открывается