Конечное значение добавленного элемента с использованием jquery - PullRequest
0 голосов
/ 26 сентября 2010

У меня есть таблица, в которую я добавляю строки в событие onclick, в строке есть кнопка, которая позволяет вам удалить ее ... это прекрасно работает.Проблема возникает, когда я вставил несколько строк, например, 5 строк, и я удаляю любую строку между 1-й и последней строкой, а затем добавляю две последовательные строки, последняя строка дублируется со значением счетчика предыдущей строки.

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

вот код

HTML

<form action = '' method = 'post' id = 'resume_form'>        

<table id="work" width="100%" border="0" cellspacing="0" cellpadding="0" style="color:#FFFFFF" >
  <tr bgcolor="#0000FF">
    <td width="4%">&nbsp;</td>
    <td width="76%"><strong>PARTICULARS</strong></td>
    <td width="20%"><strong>AMOUNT</strong></td>   
  </tr>
</table>               
<input type="button" id="button"  value="Add field" / >
</form>

JS

<script type="text/javascript">

    $('#button').click(function(){
        var count = $('input.dasa').length;
                //Html to create a new field       

              '<tr class = "work_experiance' + count + '">' +
                '<td></td>' +
                '<td><input class=\'dasa\' type="text" name="part' + count + '" id="part' + count + '" /></td>' +
                '<td><input type="text" name="amount' + count + '" id="amount' + count + '" /</td>' +

            '<td><input class="remove_project_file" onclick="del(\''+count+'\')"  type = "button"  id = "delete' + count + '" name = "delete' + count + '" onclick="del(' + count + ')" value="delete' + count + '">' +
            '</tr>';
        $('#work').append(newFields);
    });
    $('form').submit(function() {
        $.post('resume.php', $(this).serialize(),
            function(data) { alert(data); });
        return false;
    });


function del(count)
{
var count;
    if(count=='0')
    {
        $('#delete'+count+'').attrib('disabled','');
    }
    else
    {
        $('.work_experiance' + count + '').remove();
    }

}

</script>

1 Ответ

2 голосов
/ 26 сентября 2010

Вместо этого получите count из последнего поля, например:

 var count = parseInt($('input.dasa:last').attr('id').replace('part',''),10) + 1;

Это захватывает :last <input class="dasa" id="partNNN" /> и получает счет из него, удаляя префикс "part", затем praseInt() слева. Затем мы просто добавляем 1 к этому результату для создания следующей строки.

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