2015-01-15 68 views
0
$.ajax({    
    type: "POST", 
    contentType: 'application/json;charset=utf-8', 
    dataType:'json', 
    url: 'generatequotations', 
    data: JSON.stringify(), 
    success: function(result) { 
    // alert("success"); 
    console.log(result); 
    $.each(result, function(i, item) { 
     tr = $('<tr/>'); 
     tr.append($("<td/>").html('<input type="text" name="unit_price" id="unit_price"/>')); 
     tr.append($("<td/>").html('<input type="text" readonly="true" name="total" id="total"/>')); 
     $('#tbl_items').append(tr); 
    }); 
    } 
}); 

<body> 
<table id="tbl_items"></table> 
</body> 

假設上面的代碼會在表中生成10個「unit_price」文本框,我需要的是我想單獨獲取這10個文本框的值以供進一步計算。幫我怪才......如何分別從動態生成的文本框中獲取值?

鏈接到屏幕截圖http://oi62.tinypic.com/255hslc.jpg

兩行動態生成的我想每個文本框(「UNIT_PRICE」)內相應的總(「總」)文本框

+0

您需要在輸入加載後編寫代碼,即在追加tr後。 –

+0

追加tr後,我得到了一個動態生成的文本框表。我需要分別獲取這些動態文本框的值。 – DON

回答

1

將您的文本框選擇器從id更改爲class,因爲您必須具有多個值。

<input type="text" name="unit_price" class="unit_price"/> 
<input type="text" name="unit_price" class="total"/> 

jQuery的

total = 0; 
$(".unit_price").each(function(){ 
    //Find total column and put unit_price value in total column 
    $(this).closest(".total").val($(this).val()); 
}); 
+0

這項工作?您不要將值從字符串轉換爲數字。 –

+0

檢查我的代碼,並將其實現到您的代碼http://jsfiddle.net/796k3b9p/2/ – Sadikhasan

+0

感謝花花公子的工作:) :) :) – DON

0

你可以用兩種不同的方式的價值。

第一:當你在這時添加一個文本框到行中時,將它的id作爲「id」+ i,這會爲每個文本框提供不同的id,同樣的事情也可以應用到row。第二:如果你爲所有文本框(你當前正在做的)提供相同的id,那麼你可以使用「this」找到它的值。 $(this).closest('input'),$(this).siblings(),$(this).parent()這些將幫助您獲得Textbox的價值。

無論您嘗試什麼方法,都可以在瀏覽器的控制檯上試用,特別是在Chrome上,這將對您有很大的幫助。

+0

你能給出一個簡單的例子,你的第一個解決方案:) – DON

+0

哦,我給你一個小例如對於(i = 0; i <10; i ++){

相關問題