2013-06-12 2 views
0

Как я могу увеличить свою новую строку, чтобы продолжить с существующих номеров?Приращение, добавляющее новую строку

Demo

$('.add-button').click(function() { 
//var $current_num = $("table#myTable tbody tr td").length; 
    var $this = $("table#myTable tbody tr"); 
    var $current_num = $this.find("td:first").attr("rowspan").length; 
    var $incremented = $this.find('td.increment').val(parseInt($this.find('td.increment').val())+1); 

    $("#myTable tbody").append("<tr><td rowspan='2'>" + $incremented + "</td><td>other data</td><td>even more data</td></tr><tr><td colspan='8'>test</td></tr>"); 
    return false; 
}); 
+2

Таблица клетки не имеют '.val()' функции привязаны к ним, образуют только элементы делают. Для доступа/установки «значений» элемента DOM используйте '.html()' или '.text()' –

ответ

0

Дайте имя класса CSS (increment) к вашему * TD * с, который показывает номер счетчика и использовать last() метод, чтобы получить последний TD, который показывает последний номер счетчика, и получить содержимое этого и прирастить, а затем добавить его в новую строку.

$(function(){ 
    $('.add-button').click(function(e) { 
    e.preventDefault(); 
    var $this = $("table#myTable tbody tr"); 
    var $current_num = $this.find("td:first").attr("rowspan").length; 
    var $incremented =parseInt($("#myTable").find('td.increment').last() 
                    .html())+1; 

    $("#myTable tbody").append("<tr><td rowspan='2' class='increment'>" + 
       $incremented + "</td><td>other data</td> 
       <td>even more data</td></tr><tr><td colspan='8'>test</td></tr>"); 

    }); 
}); 

Работа образец http://jsfiddle.net/QYGpe/14/

1

Получить значение приращения следующим образом, и он должен работать:

var $this = $("table#myTable tbody"); 
var $incremented = $this.find('td[rowspan]:last').text()*1 + 1; 

Обновлено вашу скрипку: http://jsfiddle.net/QYGpe/16/

0
var length = $this.length; 

var $incremented = (length/2)+1; 

Попробуйте это.

0

использование .text() вместо .val() для <td> элемента

$(function() { 
    var $tbody = $("#myTable tbody"); 
    $('.add-button').click(function(e) { 
     e.preventDefault(); 
     var lastId = parseInt($tbody.find("td[rowspan]:last").text()) + 1; 
     $tbody.append("<tr><td rowspan='2'>" + lastId + "</td><td>other data</td><td>even more data</td></tr><tr><td colspan='8'>test</td></tr>"); 
    }); 
}); 

jsFiddle code

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