将动态文本框绑定到jquery-ui自动完成
问题描述:
我动态生成文本框,并使用ajax从服务器加载数据。我想实现自动完成使用jQuery UI的插件,但不知何故,没有动态文本框将动态文本框绑定到jquery-ui自动完成
var url = "<?php echo Yii::app()->request->baseUrl; ?>?r=product/getProduct";
$.get(url,function(model){
prodList = $.parseJSON(model);
});
msg = '<table><tr><td>Item</td></tr>';
for(var i=1;i<=rows;i++){
msg = msg + '<tr>';
msg = msg + '<td><input type="text" class="span5" id="Name_' + i + '" ></td>';
msg = msg + '</tr>';
$( "#Name_" + i).autocomplete({ source: prodList});
}
msg = msg + '</table>';
$('#form').html(msg);
然而,文本框自动完成功能不起作用工作。请帮助
在此先感谢
答
我刚刚意识到我愚蠢的错误。
function AutoComplete(rows)
{
for(var i=1;i<=rows;i++){
$('#Name_' + i).autocomplete({source: prodList });
}
}
....... ........
var url = "<?php echo Yii::app()->request->baseUrl; ?>?r=product/getProduct";
$.get(url,function(model){
prodList = $.parseJSON(model);
AutoComplete(rows);
});
msg = '<table><tr><td>Item</td></tr>';
for(var i=1;i<=rows;i++){
msg = msg + '<tr>';
msg = msg + '<td><input type="text" class="span5" id="Name_' + i + '" ></td>';
msg = msg + '</tr>';
}
msg = msg + '</table>';
$('#form').html(msg);
现在,它就像一个魅力.... :)
答
使用类似的东西尝试这样的:
var url = "<?php echo Yii::app()->request->baseUrl; ?>?r=product/getProduct";
$.get(url,function(model){
prodList = $.parseJSON(model);
});
function displayMsg(rows, callback){
msg = '<table><tr><td>Item</td></tr>';
for(var i=1;i<=rows;i++){
msg = msg + '<tr>';
msg = msg + '<td><input type="text" class="span5 autocmp" id="Name_' + i + '" ></td>';
msg = msg + '</tr>';
}
msg = msg + '</table>';
$('#form').html(msg);
}
function setAutocmp(){
$(".autocmp").autocomplete({ source: prodList;});
}
displayMsg(rows, function(){setAutocmp()});