2012-03-18 82 views
0

大家好:我需要將數據從20個下拉菜單發送到PHP文件。我怎樣才能讓他們看到所有人的價值觀?謝謝。通過jQuery ajax從幾個下拉菜單傳遞數據

PS:在PHP我知道如何穿行其中獲取數據...

+0

你能更具體嗎? – 2012-03-18 18:01:44

+0

我有兩列和約10行的表,但用戶可以添加或刪除rows.In每​​我有drop.in每個col下拉是相同的。我需要看看在所有選擇的值第一欄中的元素,然後在第二,併發送他們爭取AJAX到PHP文件保存在數據庫中。 – 2012-03-18 18:09:50

+0

@stackoverflow - 由非常*官方*用戶編輯的非常**正式**編輯;) – Lix 2012-03-18 18:19:16

回答

1

讓我們看看這個HTML作爲樣本 -

<div id="vanyov"> 
    <select> 
    <option value="Beer"></option> 
    <option value="Wine"></option> 
    <option value="Water"></option> 
    ... 
    </select> 
    <select> 
    <option value="Steak"></option> 
    <option value="Pizza"></option> 
    ... 
    </select> 
    ... 
</div> 
<!-- I hope I put the right choices in here. 
everyone cool with Beer and Pizza right? ;) --> 

您可以使用jQuery返回所有選擇你需要的元素,然後解析它們全部將它們添加到JSON對象。

var valuesJSON = {}; 
$.each($("#vanyov select"),function(index,elem){ 
    valuesJSON[index] = $(elem).val(); 
}); 

這將與所述#vanyov元素添加所有<select>元素的值。

但這是怎麼回事?讓我們來看看 -

  • var valuesJSON = {} - 這是一些速記代碼來創建一個名爲valuesJSON一個新的空對象。
  • $.each - 這是一個jQuery函數,它會循環所有你給它的元素。數組和對象,特別是jQuery selectors返回的元素組。還有一個回調函數通過$.each發現的每個項目。
  • $("#vanyov select") - 這裏我們告訴jQuery給我們所有<select>元素,它們是#vanyov元素的後代。
  • valuesJSON[index] - 這是我們向JSON添加新項目的地方。我們使用index參數,因爲它們就在那裏!簡單! $.each函數提供它們。
  • $(elem).val() - 我們與$()包裹elem參數,將其轉換成一個jQuery對象,然後我們使用val()功能來選擇的下拉列表中提取<option>元素的值。

然後發出您的訂單與Ajax調用也許 -

$.post('/ajax/lyubomir',valuesJSON,function(response){ 
    // Return values here 
},"json"); 

我希望他們很快到來 - 在那之後,我餓了......

1

如果您需要創建一個值的數組,你一定要檢查serializeArray方法。您會在同一頁上找到優秀的usage example,您向下滾動一下。