【发布时间】:2023-03-28 00:01:01
【问题描述】:
我有一个引导模式对话框,其中有一个用于自动完成的输入。
当我打开对话框时,我会启动该功能:
<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'); 关闭对话框并第二次启动它时,自动完成功能不起作用。
为什么,你能解释一下吗?
【问题讨论】:
-
“第二次不工作”问题通常是在关闭按钮时未能解除绑定的情况。因为你只是“隐藏”它,你实际上并没有解开它。所以,试试
$(myModal).modal('hide').off(); -
你能在 jsfiddle 上重现这个问题吗?
-
如果我添加 '.off()' 隐藏停止工作。
-
不,我无法在 jsfiddle 上重现此内容,因为我无法在那里创建模式。
标签: javascript jquery twitter-bootstrap jquery-ui autocomplete