2015-12-16 2 views
3

Я хочу удалить выбранную строку, используя jQuery. Во-первых, нажав кнопку добавления, строки добавляются динамически с помощью кнопки удаления. Теперь я хочу удалить выбранную строку.Как удалить строку на основе ее индекса?

Я использую следующий код для добавления строк динамически:

$("#btnAdd").on('click', function(){ 
 
    $('#Time tr').last().after('<tr><td><span style="font-size:14px;">Diplamo/Certificate :</span><input type="textbox" input id="addedValue12" name = "Certificate"></td><td><span style="font-size:14px;">Percentage :</span><input type="textbox" id="addedValue123" name = "CertificatePer"></td></tr>'); \t \t 
 
});
<input id="btnAdd" type="button" value="add" /> 
 
<table id="Time"> 
 
    <tr> 
 
    </tr> 
 
</table>

Я отображение значений на странице JSP.

<c:forEach var="var1" items="${empedu.empCertificate}"> 
 
    Certificate Name:<input value="${var1.certification}" name="Certificate" type="text" title="Only Text Allowed" pattern="[a-zA-Z\s'.,@:&?!()$#/\\]+" /> 
 
    Percentage: <input value="${var1.percentage}" name="CertificatePer" style="width: 100px;" type="text" max="100" /> 
 
    <input type="button" id="deleteRow" name="delete" value="delete" /><br/> 
 
</c:forEach>

Он отображается на экране, как это:

Screenshot

Здесь Если я нажимаю на третий ряд, я хочу удалить третью строку. Как я могу это сделать?

+0

Посмотрите на метод [ 'jQuery.remove'] (https://api.jquery.com/remove/). – xaviert

ответ

3
$("#Time").on("click", ".delete", function(){ 

    $(this).closest("tr").remove(); 

}); 

delete Предполагая, что это класс удаления button. Я использовал .on в качестве строк, и, таким образом, кнопки удаления динамически добавляются.

Это самая близкая tr нажатая кнопка удаления и удаление ее.

Working Fiddle

+0

Thanko so much. Но я не знаю, почему он не работает. Посмотрите на скрипку http://jsfiddle.net/9umGT/71/ –

+0

@sathishkumar id должен быть 'Time', а не' time'. Посмотрите на эту скрипку http://jsfiddle.net/9umGT/72/ – void

+0

Если она решает вашу проблему, пожалуйста, подумайте о ее голосовании и отметьте ее как правильный ответ. – void

2

первый: Id должен быть уникальным, чтобы не использовать идентификатор для более чем одного элемента .. использование класса вместо

второй: в то время как вы добавить строки, необходимые для jQuery event delegation ...

$('#Time').on('click' , '.delete' , function(){ 
    // change .delete_btn with your delete btn class 
    $(this).closest('tr').remove(); 
}); 
+0

Я удалил id и теперь мое имя класса удаляю. Вместо $ («# time»), если я даю $ («тело»), предупреждение печатает и входит в эту функцию. Но строка не удаляется. –

+0

@sathishkumar после того, как вы изменили класс на удаление .. см. Обновленный ответ .. просто я изменил .delete_btn с новым классом btn delete .. даже вы меняете $ («# время») с помощью $ («body»), он должен работать –

+0

(http://jsfiddle.net/9umGT/71/) посмотрите на эту скрипку –

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