我正在动态生成文本框,并使用ajax从服务器加载数据。我想使用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);
但是,文本框自动完成功能不起作用。请帮助
提前致谢
答案 0 :(得分:0)
我刚刚意识到我的愚蠢错误。
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);
现在它就像魅力......:)
答案 1 :(得分:0)
尝试使用类似的东西:
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()});