2014-08-31 2 views
1

Я пытаюсь удалить строку при нажатии кнопки. Он отлично работает, если я не за столом. Мой JSP имеет комбинацию из 50 строк в таблице, и после этого мы вставляем таблицы. Теперь, моя проблема в том, хочу ли я удалить последнюю строку из предыдущей таблицы, как мне это сделать?Удаление узлов с использованием JavaScript

Я прилагаю скриншот UI и отладчика HTML-просмотра тоже. Любые предложения будут полезны.

[DROW] Вот несколько строк, в которых мы имеем древовидную структуру. Нам нужно сначала подняться до каждой строки, а затем перейти к последней строке, чтобы удалить последнюю строку.

Это возможно только в том случае, если мой предыдущий Row содержит последние строки val. Я не могу с этим справиться.

function removeAnotherResponse(arg0, data, response, request){ 

// Make sure the response has everything we need 
if(arguments==null || arguments.length<4 || !request.content || request.content==null || !request.content.groupUniqueId || request.content.groupUniqueId==null){ 
    return; 
} 

// Check for true response 
if(!data || data==null || !data[0] || !data[0].removedSuccess || data[0].removedSuccess!=true){ 
    return; 
} 

var groupUniqueId=request.content.groupUniqueId; 

// Get the add another button row and add the new row before it. 
var addAnotherRow=document.getElementById("ADD_"+groupUniqueId); 
if(addAnotherRow==null) return; 

    var previousRow=document.getElementById("ADD_"+groupUniqueId).previousSibling; 
    addAnotherRow.parentNode.removeChild(previousRow); 



showOrHideAddRemoveButtons(groupUniqueId, data[0].removeButton, data[0].addButton); 
updateSectionCount(groupUniqueId, false); 
getPortCount(groupUniqueId); 

}

+0

Добавить код не скриншот. – Mritunjay

+0

@Mritunjay .. Я добавил код, который я использовал для удаления строк в таблице. Я не могу перейти к указанной выше строке, в которой есть вложенная таблица, как показано на скриншоте отладки. – Bhaskar

+1

Значение атрибута 'id' должно быть уникальным для каждого элемента. здесь вы должны использовать класс не 'id' из тех же значений. – GillesC

ответ

0

Спасибо всем, кто предложил мне исправить код html.

Элемент пользовательского интерфейса действительно создавал проблему для меня другими способами. Теперь, вместо создания нового, я нашел другой способ справиться с этим, и мой код HTML упростился. PFB изменения скрипта, которые были сделаны. Спасибо за все предложения :)

if (document.getElementById("ID" + gID) != null) { 

    innerElement = document.getElementById("ID_TD_" + gID); 
    innerElement.innerHTML = innerElement.innerHTML + responseHTML; 

} else { 

    innerElement = document.createElement("td"); 
    innerElement.setAttribute("id", "ID_TD_" + gID); 

    newElement.appendChild(innerElement); 
    innerElement.innerHTML = responseHTML; 

} 
2

HTML-фрагмент, который вы размещаете, кажется, есть некоторые проблемы (ID дубликаты, использование <tr> в качестве родителя другого <tr>). Я пытаюсь ответить на ваш основной вопрос, как удалить строку таблицы. Вы можете использовать метод deleteRow объекта DOM table. Коллекция rows может использоваться для доступа к существующим строкам, а deleteRow и insertRow позволяет изменять таблицу.

+0

Здесь я хочу перейти к этой строке, как в моем текущем подходе, который я делаю. Когда я перехожу в таблицу, я могу легко сделать это с помощью кода выше. Но когда все 50 строк в таблице удаляются, и я хочу перейти к указанной выше строке, которая снова отображает таблицу, я не могу этого сделать. – Bhaskar

+1

@Bhaskar: Извините, но я не могу полностью следовать за вами. В фрагменте кода, который вы опубликовали, используются только DOM-методы, такие как 'parentNode' и' removeChild', которые являются ** обычными ** для каждого элемента HTML. DOM API имеет некоторые ** конкретные ** методы, такие как 'deleteRow', который позволяет упростить работу в случае работы с ** конкретными ** элементами DOM, такими как'

'. Главный вопрос: * Как удалить последнюю строку из определенной таблицы? *. Я предлагаю вам выбрать таблицу по id, а затем использовать 'deleteRow' для удаления строки, которую вы хотите удалить. – Oleg

+0

Спасибо за предложение об изменении. Вероятно, я сначала попытаюсь исправить мой jsp и опубликую свой ответ, если моя проблема будет решена. – Bhaskar

Смежные вопросы