我正在尝试将单击的数据表行添加到textarea中,如果再次单击同一行,则会在textarea中搜索数据,如果找到则删除。 (选择/取消选择)
如果我选择一行并取消选择它,它就会很好用。但是当我选择多行然后返回取消选择它们时,只搜索和删除最后选择的行,而不是其他行。
任何帮助?
$('#myTable tbody').on('click', 'tr', function() {
var str = $("#selectedref").text();
var ref = table.cell(this, 2).data();
if (str.indexOf(ref) != -1) {
var rmvref = ref + "\r\n";
$("#selectedref").html($("#selectedref").html().replace(rmvref, ""));
} else {
var addref = ref + "\r\n";
var str1 = addref.concat(str);
$("#selectedref").text(str1);
}
});
答案 0 :(得分:0)
编辑:因为您正在使用textarea:
var row1 = "test row 1\r\n";
var row2 = "test row 2\r\n";
var row3 = "test row 3\r\n";
str = row3.concat(row2.concat(row1));
str = str.replace(row2, "");

尝试使用< BR>在你的html而不是\ r \ n中进行换行。
您的代码段适用于这种情况:
$('#myTable tbody').on('click', 'tr', function() {
var str = $("#selectedref").text();
var ref = table.cell(this, 2).data();
var strref = ref + "<br>";
if (str.indexOf(ref) != -1) {
$("#selectedref").html($("#selectedref").html().replace(strref, ""));
} else {
var str1 = strref.concat(str);
$("#selectedref").text(strref);
}
});
&#13;
但是一旦用一个element.innerHTML替换str,它就不起作用,因为它不会以同样的方式处理换行符。
<!-- like this one -->
&#13;
使用工作代码编辑
答案 1 :(得分:0)
最后我已经弄明白了!
$('#myTable tbody').on('click', 'tr', function() {
var str = $("#selectedref").text();
var ref = table.cell(this, 2).data();
if (str.indexOf(ref) != -1) {
var rmvref = ref + "\r\n";
$("#selectedref").text($("#selectedref").text().replace(rmvref, ""));
} else {
var addref = ref + "\r\n";
var str1 = addref.concat(str);
$("#selectedref").text(str1);
}
});
&#13;