Javascript 复制Datatable中的行并在前置输入元素后刷新DOM
我有两个数据表 当我双击一行时Javascript 复制Datatable中的行并在前置输入元素后刷新DOM,javascript,jquery,datatable,Javascript,Jquery,Datatable,我有两个数据表 当我双击一行时 //// Mov table 1 to 0 $('#DataTable1 tbody').on('dblclick', 'tr', function (event) { 它将所有原始行数据复制到destiny表中 //create array var data = []; //pushes data to array $(this).find('td').each(function () { data.push($(this).text()); });
//// Mov table 1 to 0
$('#DataTable1 tbody').on('dblclick', 'tr', function (event) {
它将所有原始行数据复制到destiny表中
//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);
好的,到目前为止还不错。。。我可以在行中插入“data-”.attr(),并在其中使用JQuery
现在我需要在两个特定的tds中添加一个“输入”。。。这是一个成功:
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"/>';
瞧。。。一切都在它应该在的地方。。。但是,当我尝试在新插入的输入上调用javascript/Jquery时,它根本不起任何作用。我以为因为它在一个.on()中,它会在prepend()之后刷新DOM,但看起来不像他那样
我该怎么做?是否有办法将这些输入与“数据”一起插入?如何刷新DOM,以便在Javascript/Jquery中使用它们的值
另外,我创建了一个函数来迭代每个输入,它们在DOm中,并且对函数可见:
<input id="clickMe" type="button" value="clickme" onclick="doFunction();" />
<script>
function doFunction() {
$('.edit-items').each(function () { alert($(this).attr("data-proj-signal")) });
}
</script>
函数doFunction(){
$('.edit items').each(函数(){alert($(this.attr)(“数据项目信号”))});
}
当我开始在预挂起的输入中插入值时,不会发生任何情况,此时应触发以下内容(并且在输入不是预挂起的输入时触发):
$(“.edit items”)。关于(“输入”,函数(e){
//做事
}
非常感谢first on()方法的冒泡出现问题 它只冒泡到“#DataTable1 tbody”。作为不同表中的新行,侦听器(second.on()) 不知道它被添加了一个新元素 只需在两个表中添加一个公共HTML父表,问题就解决了。在本例中,只需在第一个.on()中添加“body”即可
$('body #projDataTable1 tbody').on('dblclick', 'tr', function (event) {
现在,在body元素之前,prepend是已知的,因此第二个.on()会被通知它
//// Mov table 1 to 0
$('#DataTable1 tbody').on('dblclick', 'tr', function (event) {
$(".edit-items").on("input", function (e) { // do stuff }
$('body #projDataTable1 tbody').on('dblclick', 'tr', function (event) {