0
我有问题,第一个文本框的作品自动完成,但不能用于其他通过按钮添加的作品。这里是我的代码:jQuery自动完成不适用于多个文本输入
HTML:
<input class="button" type="button" value="+" onclick="addRow('positionen')" />
<input class="button" type="button" value="-" onclick="deleteRow('positionen')" />
<table id="positionen">
<tr>
<td><input type="checkbox" name="chk[]" /></td>
<td><input class="ui-widget" type="text" name="text[]" placeholder = "Text" /></td>
<td><input type="text" name = "val[]" placeholder = "Val" /></td>
</tr>
</table>
功能addRow:
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
switch(newcell.childNodes[0].type) {
case "text":
newcell.childNodes[0].value = "";
break;
case "checkbox":
newcell.childNodes[0].checked = false;
break;
}
}
}
功能deleteRow:
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 1) {
alert("Can't delete all rows");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
} catch(e) {
alert(e);
}
}
自动完成代码:
$(function() {
$(".ui-widget").focusin(function(){
$(this).autocomplete({
source: 'search.php'
});
});
});
默认情况下页面上的第一个文本框与自动完成工作正常。但是,当我使用按钮添加文本框时,自动完成功能不适用于此文本框。加载页面时
“row.autocomplete”将其绑定到创建的行不适合我。然而,当我做“$(”。ui-widget“)。自动完成({0128}它工作正常! – thotho
我的错误:),我忘了把行放在$()中。如果你“$(”。ui-widget“)。autocomplete({source:'search.php'});”你正在绑定事件到现有的行 - 你自动完成事件将被称为几次这是错误的 - 编辑答案 – homer
可悲的是,这是行不通的... – thotho