[英]how to attach jquery plugin to dynamically created textbox
我在jsp中有一个文本框如下
<input id="newHardware_details_0__hardware_type" name="details[0].hardware_type" class="autocompleter">
我正在使用jQuery插件“自动完成”,如下所示:
$(function() {
var availableTypes = [ "Desktop",
"Laptop",
"Mobile",
"Tablet",
"Printer",
"Scanner",
"Server",
"Switch",
"Wifi-router",
"USB Dongle"
];
$( ".autocompleter" ).autocomplete({
source: availableTypes
});
});
我还有一个添加按钮,单击该按钮我想添加具有“自动完成”功能的类似文本框。 我能够从javascript函数动态创建文本框,但无法将此jquery插件自动完成器附加到它。 请注意,可以多次单击添加按钮,并且新生成的文本框的名称如下
细节[1] .hardware_type
细节[2] .hardware_type
details [3] .hardware_type等。
Javascript代码如下:
function addRow(tableID) {
//alert ("adding row");
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var idx = rowCount+1;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var hardware_typeElement = document.createElement("input");
hardware_typeElement.type = "text";
hardware_typeElement.name = "details[" + idx + "].hardware_type";
hardware_typeElement.id = "newHardware_details_" + idx + "__hardware_type";
hardware_typeElement.className = "autocompleter";
cell1.appendChild(hardware_typeElement);
var label = document.createElement("label");
var t = document.createTextNode("Hardware Type");
label.setAttribute("for", "newHardware_details_" + idx + "__hardware_type");
label.appendChild(t);
cell1.insertBefore(label,document.getElementById("newHardware_details_" + idx + "__hardware_type"));
}
我对Jquery很陌生。 任何帮助将不胜感激
如下所示:
$(/*select your td here*/).append('input type="text" class="my-textbox"');
$(/*select same td*/).find('input.my-textbox').callPluginMethod();
更新:修改中的代码有问题:
$("#trigger").click(function(){
addRow();
})
function addRow() {
$(tableID).append('<tr><td><input type="text" class="my-textbox"></input></td></tr>')
$(tableID).find('tr:last > input.my-textbox').callPluginMethod();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.