2013-10-07 54 views
0

我有這樣的代碼動態變量(可變++)在附加功能的JavaScript DOM

function add_fullboard_dalam_kota(){ 
    var data='<?php echo $data; ?>'; 
    var tambah=1; 
    var txt=1; 
    $("#fullboard_dalam_kota").append('<tr align="center" valign="middle"bgcolor="#E4E4E4">' 
     +'<td width="19%" ><input name="penyelenggara[]" type="text" id="'+tambah+'" onchange="showUser(this.value)"></td>' 
     +'<td width="19%" ><div id="'+txt+'"><b></b></div>' 
     +'</td>' 
     +'<td width="19%" ><input name="jumlah_peserta[]" type="text" id="jumlah_peserta[]"></td>' 
     +'<td width="19%" ><input name="jumlah_hari[]" type="text" id="jumlah_hari[]"></td>' 
     +'</tr>') 


    tambah=tambah+1; 
    txt=txt+1; 

    alert(tambah); 

我的問題是,爲什麼「tambah」變量的值總是2?以及如何通過一個append()函數調用後動態添加1?

+2

它是一個局部變量,你可以將它移動到全球範圍內擁有tambah保持其價值,或只是1計數表和增量'tr'如果這是TR另外的唯一來源你的代碼。 – PSL

+2

爲什麼你將id分配給這樣的重複元素?你需要什麼ID? (並注意由該函數添加的其他輸入具有硬編碼的ID,這是創建無效的HTML,因爲該ID應該是唯一的。) – nnnnnn

回答

0

在函數之外聲明變量「tambah」。

//Declare variable outside scope of fucn() 
var tambah=1; 

function add_fullboard_dalam_kota(){ 
    var data='<?php echo $data; ?>'; 
    var txt=1; 
    $("#fullboard_dalam_kota").append('<tr align="center" valign="middle"bgcolor="#E4E4E4">' 
     +'<td width="19%" ><input name="penyelenggara[]" type="text" id="'+tambah+'" onchange="showUser(this.value)"></td>' 
     +'<td width="19%" ><div id="'+txt+'"><b></b></div>' 
     +'</td>' 
     +'<td width="19%" ><input name="jumlah_peserta[]" type="text" id="jumlah_peserta[]"></td>' 
     +'<td width="19%" ><input name="jumlah_hari[]" type="text" id="jumlah_hari[]"></td>' 
     +'</tr>') 

    tambah++; 
    txt++; 
    alert(tambah); 
}