2012-03-29 32 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()僅適用於您自己設置div中的value屬性。這將完全忽略你的input的價值。

+0

其工作。謝謝你 :) – 2012-03-29 08:20:47

0

獲取現有的複選框的數量,像這樣:

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

然後使用existingInputCount相應