Как я могу добавить или удалить строки моей матрицы в JQuery? - PullRequest
0 голосов
/ 26 сентября 2019

Я создал матрицу, используя элемент div, который включает в себя несколько p-тегов, и каждый p-тег имеет некоторые входные данные.Теперь я хочу отредактировать эту матрицу и добавить или удалить некоторые столбцы или строки.Я просмотрел сеть и нашел команду remove () в Jquery.но когда я постоянно добавляю и удаляю некоторые строки, я сталкиваюсь с некоторыми вещами.у тебя есть идеи?

//instruction of my matrix:
var d = document.createElement("div")
dmatid = 'a'
d.setAttribute('id', dmatid)
for (var i = 0; i < rows; i++) {
  var p = document.createElement("p")
  for (var j = 0; j < cols; j++) {
    var pp = document.createElement("input")
    pp.type = "number"
    pp.value = eval(mat.childNodes[i].childNodes[j].value)
    p.appendChild(pp)
  }
  d.appendChild(p)
}
// the code to remove some rows of the matrix:
if (newrow < oldrow) {
  for (var i = newrow; i < oldrow; i++) {
    $("#" + dmatid + " p").last().remove()
  }
}

// the code to add some rows to the matrix:
else if (newrow > oldrow) {
  for (var i = oldrow; i < newrow; i++) {
    var drow = document.createElement("div")

    for (j = 0; j < mats[d].colnum; j++) {
      var p = document.createElement("input")

      drow.appendChild(p)
    }
    document.getElementById(dmatid).appendChild(drow)
  } ** strong text **

1 Ответ

0 голосов
/ 26 сентября 2019

В качестве альтернативного способа решения этой проблемы, я думаю, вы можете установить атрибут для любой ячейки вашей матрицы в виде строки данных, а другой в качестве столбца данных.что значением каждого из них является номер строки и столбца матрицы.

, поэтому элемент ячейки будет выглядеть (как в примере):

<input data-row="4" data-cel="3" type="number"/>

Итак, в любое время вы хотите удалитьстрока может удалить все узлы с одним и тем же атрибутом «строка данных».например:

$("[data-row=4]").remove();

, что $ ("[data-row = 4]") получает все элементы, для которых атрибут "data-row" имеет значение 4, и удаляет их.

извините за альтернативный способ, коды, которые вы разместили, были не совсем понятны для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...