2013-09-24 64 views
0

我正在一個頁面上顯示不同的輸入字段,具體取決於用戶所做的選擇。使用jQuery動態獲取輸入字段的值,並用PHP處理它們

例1:

<input type="text" name="color" value="" id="5"> 
<input type="text" name="location" value="" id="6"> 
<input type="text" name="age" value="" id="7"> 

例2:

<input type="text" name="color" value="" id="5"> 
<input type="text" name="destination" value="" id="8"> 
<input type="text" name="hours" value="" id="9"> 
<input type="text" name="date" value="" id="10"> 

問題1: 如何我可以得到jQuery的所有輸入字段時,輸入字段本身是動態的?

問題2: 在服務器端,我想用它們的值和ID處理輸入字段。我怎樣才能使這種動態?

我知道,當一切都解決,例如:

var color = $('#color').val(); 
var destination = $("#destination").val(); 

var dataString = 'color=' + color + "&destination=" + destination; 
$.ajax({ 
     type: "GET", 
     url: "do_something.php", 
     data: dataString, 
     async: false, 
     success: function(data){ 
      console.log('success'); 
     } 
}); 

回答

2

您可以使用.serialize()來創建自己的數據串本可以輕鬆完成。它會動態地獲取所有數據,表格,把它變成一個字符串像你試圖建立:

$.ajax({ 
     type: "GET", 
     url: "do_something.php", 
     data: $("form").serialize(), 
     async: false, 
     success: function(data){ 
      console.log('success'); 
     } 
}); 

Google文檔.serialize()http://api.jquery.com/serialize

注意,你可能需要細化$("form")選擇如果您在DOM中擁有多個表單,則更具體。

至於你的第二個問題,你通常應該對SO每個帖子提出一個問題的問題。也就是說,您應該將ID屬性設置爲value屬性,這樣它將在提交表單時傳遞給PHP腳本,因爲它不會隨表單一起傳輸,因此ID將會丟失。

+0

'.serialize()'這正是我一直在尋找。感謝您告訴我,這存在! – doonot

+0

我有隨機數字的隨機數的輸入。我該如何改進'$(「#input13」)','$(「#input24」)'? –

0

如果我理解的很好,你的第一個問題是你想用jquery獲取動態輸入的值和id。 呦能做到這一點,插入DINAMIC投入在百達同一div,只是這樣做:

var data = new Array(); 
$("#id-div input").each(function() { 
    data.push({id: $(this).attr("id"), value: $(this).attr("value")}); 
}); 
相關問題