我有2个数据表表。
当我双击一行时
pagehandle.read()
它将所有原始行数据复制到命运表。
pagehandle.read()
好的,到目前为止一切都很好......我可以将“data-”。attr()插入到行中,并在其中使用JQuery。
现在我需要在两个特定的tds上附加一个“输入”...这是成功的:
//// Mov table 1 to 0
$('#DataTable1 tbody').on('dblclick', 'tr', function (event) {
我使用普通的sintax选择行并添加所需的html代码。
//create array
var data = [];
//pushes data to array
$(this).find('td').each(function () { data.push($(this).text()); });
//add row to destiny table
dt.row.add(data);
//draw table
dt.draw(false);
瞧......一切都在应该的地方......但是,当我尝试在新插入的输入上调用javascript / Jquery时,它根本就什么都不做。我认为因为它在.on()内部,它会在prepend()之后刷新DOM,但它看起来并不像他那样......
我该怎么做?有没有办法将此输入与“数据”一起插入?如何刷新DOM以便我可以在Javascript / Jquery中使用它们的值?
P.S。我创建了一个函数来迭代每个输入,它们在DOm中,并且对函数可见:
var input_pos = '<input type="number" class="edit-items" max="'+xpto+'" data-proj-signal="1"/>';
var input_neg = '<input type="number" class="edit-items" max="'+xpto2+'" data-proj-signal="-1"/>';
当我开始在预先填充的输入中插入值时,当触发以下内容时会发生任何事情(当输入不是那些预先填充时触发):
$(“。edit-items”)。on(“input”,function(e){ // 做东西 }非常感谢
答案 0 :(得分:0)
第一个on()方法冒泡时出现问题。
//// Mov table 1 to 0
$('#DataTable1 tbody').on('dblclick', 'tr', function (event) {
只有泡泡到“#DataTable1 tbody”。作为另一个表中的新行,监听器(第二个.on())
$(".edit-items").on("input", function (e) { // do stuff }
不知道它添加了一个新元素。
只需将一个公共HTML父级放到两个表中,问题就解决了。在这个例子中,只需将“body”添加到第一个.on()就可以了。
$('body #projDataTable1 tbody').on('dblclick', 'tr', function (event) {
现在直到body元素才知道prepend,所以第二个.on()被告知它。