Javascript 自动完成在引导模式对话框上第二次不起作用
我有一个引导模式对话框,其中有一个用于自动完成的输入 当我打开对话框时,我启动该功能:Javascript 自动完成在引导模式对话框上第二次不起作用,javascript,jquery,twitter-bootstrap,jquery-ui,autocomplete,Javascript,Jquery,Twitter Bootstrap,Jquery Ui,Autocomplete,我有一个引导模式对话框,其中有一个用于自动完成的输入 当我打开对话框时,我启动该功能: <code> $(document).on('keyup', 'input[name=item]', function() { var products = new Array(); /* Get All Products */ $.ajax({ url: 'index.php?route=order/order/getproducts',
<code>
$(document).on('keyup', 'input[name=item]', function() {
var products = new Array();
/* Get All Products */
$.ajax({
url: 'index.php?route=order/order/getproducts',
type: 'get',
dataType: 'json',
success: function(json) {
for (i = 0; i < json.length; i++) {
products[i] = json[i];
}
}
});
/* Autocomplete By Got Products */
$(this).autocomplete({
source: products
});
$(this).autocomplete('option', 'appendTo', '.item');
});
</code>
自动完成也很好
但是当我用$myModal.modal'hide'关闭对话框时;并在自动完成无法工作时再次启动它
为什么,你能解释一下吗?之前,我使用了相同的方法,所以我也面临同样的问题,为了解决这个问题,我做了以下更改: 介绍onkeypress事件:
<input id="superAdminEmail" onkeypress="onTextInsert()" name="Email" class="form-control" required>
}第二次不工作问题通常是无法解除与关闭按钮的连接。因为你只是在“隐藏”它,你实际上并没有解开它。所以,试试$myModal.modal'hide'.off;你能在JSIDdle上重现这个问题吗?如果我添加“.off”隐藏停止工作。不,我不能在JSIDdle上重现这个问题,因为我不能在那里创建一个模式。
function onTextInsert() {
$("#superAdminEmail").autocomplete({
source: function (request, response) {
showLoaderScreen();
$.ajax({
type: 'GET',
url: '/admin/getadminemailsuggestion',
data: { 'prefixemail': $("#superAdminEmail").val() },
success: function (result) {
response($.map(result, function (item) {
var res = { label: item.Email, value: item.Name };
hideLoaderScreen();
return res;
}));
},
error: function (error) {
hideLoaderScreen();
}
});
},
select: function (event, ui) {
$("#superAdminEmail").val(ui.item.label);
$("#superAdminName").val(ui.item.value);
return false;
}
});
$("#superAdminEmail").autocomplete("option", "appendTo", "#superAdminModal");