我正在开发一个网络应用程序,我总是遇到这个问题:我经常需要通过Javascript生成一些HTML代码(例如用户在select中选择数字“6”,我通过JS)。问题是我无法理解如何将jQuery(或Javascript)函数链接到那些Javascript生成的字段,因为所有经典方法似乎都不起作用。 在这种情况下,我希望我的用户只能输入数字0-9和退格,所以我写了这个简单的jQuery函数:
$(document).ready(function() {
$("#ciao1").keydown(function(e) {
if ((e.keyCode == 8) || (e.keyCode >= 96 && e.keyCode <= 105) || (e.keyCode >= 48 && e.keyCode <= 57)) {
return;
}
else {
e.preventDefault();
}
});
});
如果我直接在HTML代码中创建一个文本字段,它可以很好地工作,但是使用我生成的js字段它将无法正常工作!请帮忙!
function addPreparations (nos, pietanze) {
var numeroTotale = nos.value;
var box = document.getElementById("box_righe");
if (numeroTotale == '') {
box.innerHTML = '';
}
else {
var righe = "<table class='table table-hover'>";
righe += "<th class='text-center'>Pietanza</th><th class='text-center'>U. di Misura</th><th class='text-center'>Quantità</th><th class='text-center'>Cuoco</th><th class='text-center'>Data di Preparazione</th>";
for (i = 1; i <= numeroTotale; i++) {
righe = righe + "<tr><td><select name='pietanza"+i+"' class='form-control' onchange='showMU(this.value, \"p\", "+i+");'>";
righe = righe + "<option value=''>Selezionare la pietanza "+i+"</option>";
for (j=0; j<pietanze.length; j++) {
righe = righe + "<option value='"+pietanze[j]+"'>"+pietanze[j]+"</option>";
}
righe = righe + "</select></td>";
righe = righe + "<td align='center'><p id='umis"+i+"' class='h5'>- - -</p></td>";
righe = righe + "<td><input type='number' placeholder='Inserire la quantità' name='quantita"+i+"' class='form-control'/></td>";
righe = righe + "<td><input type='text' placeholder='Inserire il cuoco' name='cuoco"+i+"' class='form-control'/></td>";
righe = righe + "<td><input type='text' placeholder='GG-MM-AAAA' id='ciao"+i+"' class='form-control' name='data"+i+"'/></td></tr>";
}
righe = righe + "</table>";
righe = righe + "<input type='submit' name='storageConfirm' value='Conferma' class='btn btn-success'/>  ";
righe = righe + "<input type='reset' value='Reimposta' class='btn btn-danger'/>";
box.innerHTML = righe;
}
}
例如:如何将jQuery链接到第一个具有id =“ciao1”的元素?
答案 0 :(得分:3)
如果你动态生成html,你应该使用
$ openssl version -a