数据表向文本区域添加/删除数据

时间:2016-10-14 13:25:00

标签: javascript jquery

我正在尝试将单击的数据表行添加到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);
  }
});

2 个答案:

答案 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;
&#13;
&#13;

但是一旦用一个element.innerHTML替换str,它就不起作用,因为它不会以同样的方式处理换行符。

&#13;
&#13;
<!-- like this one -->
&#13;
&#13;
&#13;

使用工作代码编辑

答案 1 :(得分:0)

最后我已经弄明白了!

&#13;
&#13;
$('#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;
&#13;
&#13;