簡體   English   中英

jQuery動態表輸入

[英]jQuery dynamic table inputs

我正在用JS進行學校項目,我創建了一個表格,可以在其中輸入問題中的作用力,並(通過jquery)編輯HTML,以便在該行之后添加許多新的輸入行我輸入部隊人數的地方

我的問題:既然這些新輸入可用,我正在嘗試將它們設置為等於數組,以便以后可以使用這些值。 我已經建立了一個for循環,其作用力與我的力循環相同,並且我試圖通過單擊新行中的按鈕來獲取它來記錄每個力。 問題是它沒有錄制。

任何人都對如何獲取數組中的這些值有任何想法? 將不勝感激。

另外,如果您知道動態表格或表格的框架,這將使此操作變得容易。

function forceRecording(numofforces) {
    for(var i =0; i<numofforces; i++) {
        $('#button1').parent().parent().after("<tr><td>Force DFO " + i +":</td><td><form><input type='text' name='lengthMeasure'/></form></td><td><div class='button' id='lengthButton"+i+"'>Add!</div></td></tr>")
        $('#button2').parent().parent().after("<tr><td>Force " + i +":</td><td><form><input type='text' name='forceMeasure'/></form></td><td><div class='button' id='forceButton"+i+"'>Add!</div></td></tr>")
    }

    for(var i = 0; i < numofforces;i++) {
        $("#forceButton"+i).click(function(){
            force[i]= $('select[name=forceMeasure]').val();
        });
        $('#forceButton'+i).after("<p>"+force[i]+"</p>");  //only temporary to check if the force is actually in the variable
    }
};

您可以使用更多常規選擇器來選擇一個事件中所需的所有輸入。

function forceRecording(numofforces){
for(var i =0; i<numofforces; i++){
    $('#somediv').after("<tr><td>Force DFO " + i +":</td><td><input type='text' id='lengthMeasure"+i+"'/></td><td><div class='button' id='lengthButton_"+i+"'>Add!</div></td></tr>")
    $('#someotherdiv').after("<tr><td>Force " + i +":</td><td><input type='text' id='forceMeasure_"+i+"'/></td><td><div class='button' id='forceButton_"+i+"'>Add!</div></td></tr>")
}
};   
$("div.button[id^='forceButton']").live("click",function(){
    var num = parseInt($(this).attr("name").split("_")[1]);
    force[num]=$('text[id=forceMeasure_'+num+']').val();
    console.log(force);
});

如果您要生成附加事件的新元素,則使用Live是更好的功能。 您只需要使用live綁定一次事件,而不是每次創建元素時都綁定事件。 每頁只需要一個表單元素。 理想情況下,名稱和ID應該始終是唯一的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM