繁体   English   中英

如何将jQuery插件附加到动态创建的文本框

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM