2012-03-29 2 views
0

У меня есть форма, как это:как противостоять последнему значению с длиной + 1?

<div id='add_field' class='locbutton'><a href='#' title='Add'>Add</a></div> 
<div id='remove_field' class='locbutton2'><a href='#' title='Delete'>Delete</a></div> 
<div id='idisikpi'> 
<div id='idheadisi1' class='headisi'> 
<div class='performancedetail'><input type='text' name='idperformancedetail[1][]' 
value='2' id='idperformancedetail[1][]'></div> 
<div class='performancedetail'><input type='text' name='idperformancedetail[2][]' 
value='9' id='idperformancedetail[2][]'></div> 
</div> 
</div> 

Это JQuery скрипт:

function CreateInput() 
{ 

    var $headisi = $("<div>"), 
    $idperformancedetail=$("<div>"); 

    var headisi_count = $("div.headisi").length+1; 
    var idperformancedetail_count = 
    $("[id^='idperformancedetail']").last().val().length+1; 

    $headisi.addClass("headisi"); 
    $idperformancedetail.addClass("performancedetail"); 

    var $input_idperformancedetail = $("<input>") 

    $input_idperformancedetail 
    .attr("name", "idperformancedetail["+headisi_count+"][]") 
    .attr("type", "text") 
    .attr("id", "idperformancedetail["+headisi_count+"][]") 
    .attr("value", idperformancedetail_count); 
    $idperformancedetail.append($input_idperformancedetail); 

    $headisi.append($idperformancedetail); 

    return $headisi; 
} 



$("#add_field a").click(function(e) 
{ 
$("#idisikpi").append(CreateInput()); 

e.preventDefault(); 
}); 

$("#remove_field a").click(function(e){ 
$("#idisikpi div.headisi:last-child").remove(); 
CalculateTotal(); 

e.preventDefault(); 
}); 

Я хочу, чтобы следующий вход счетчика от последнего значения idperformancedetail, я хочу значение на следующем входе, как 10 , 11,12, ... Что я могу сделать, чтобы получить значение счетчика на следующем входе? Пожалуйста, помогите мне :(

ответ

0

Вы должны разобрать $("[id^='idperformancedetail']").last().val() как целое (parseInt), в противном случае вы будете. получить каскадную строку Также вы не хотите использовать .length, но val():.

var idperformancedetail_count = parseInt($("[id^='idperformancedetail']").last().val()) + 1; 

JSFiddle demonstration. Обратите внимание, что val() будет работать только с тех пор, как вы установите атрибут value в div самостоятельно. Это полностью игнорирует ваше значение input.

+0

его разработка. Спасибо тебе :) –

0

Получить количество существующих флажков так:

var existingInputCount = $('input[name^=idperformancedetail]').length; 

Затем используйте existingInputCount соответственно

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

  • Нет связанных вопросов^_^