我为我的网站使用了自动完成插件。这对我来说效果很好。但是现在因为我同时使用了 Ajax 所以在使用 AJax 添加新的 HTML 时,我的脚本失败了。我在stackoverflow上发布并得到了关于使用.on
Jquery 1.7.2的答案所以我试图将我的代码绑定到.on
我的代码是
$(document).ready(function(){
$(function(){
$(document).on("click.autocomplete","#artist_id",function(e){
$(this).autocomplete({
source : '<?php echo HTTP_PATH . '/artists/getArtistList'; ?>',
multiple: true,
mustMatch: true,
matchContains: true,
scroll: true,
minChars: 0,
autoFill: true,
dataType: "json",
parse: function(data) {
return $.map(data, function(item) {
return { data: item, value: item.label, result: item.label};
});
},
formatItem: function(item) {
return item.label;
},
formatResult: function(item) {
return item.id;
},
formatMatch: function(item) {
return item.label;
}
});
});
});
});
运行良好的代码...
$("#artist_id").focus().autocomplete( '<?php //echo HTTP_PATH . '/artists/getArtistList'; ?>', {
multiple: true,
mustMatch: true,
matchContains: true,
scroll: true,
minChars: 0,
autoFill: true,
dataType: "json",
parse: function(data) {
return $.map(data, function(item) {
return { data: item, value: item.label, result: item.label};
});
},
formatItem: function(item) {
return item.label;
},
formatResult: function(item) {
return item.id;
},
formatMatch: function(item) {
return item.label;
}
});
问题既不是它发送响应也不是给我脚本错误。我尝试使用 Firebug 检查它。