0
我有一些動態創建的<inputs>
,當他們創建一個動態array
,它被塞進一個.ajax
後。除了動態創建的array
之外,它都可以工作。如果我手動創建array
它工作正常,我只是無法動態創建它。 ID(infoID1,infoID2,infoID3)和Values(1,2,3)中使用的數字通過PHP循環(infoID{$x}
)創建。動態創建陣列
樣品輸入
下面dataArray
<input id="infoID1" type="checkbox" value=1/>
<input id="info1" type="text" value="something good"/>
<input id="infoID2" type="checkbox" value=2/>
<input id="info2" type="text" value="something bad" />
<input id="infoID3" type="checkbox" value=3/>
<input id="info3" type="text" value="something ugly" />
的就是我遇到的各種問題。我需要把過的框兩者ID和值。在該動態創建dataArray
(使用某種類型的循環),並添加連續的數字值,以兩者的ID變量(infoID + 1
變得infoID1
)以及值(1,2,3
)
所以它最終會變成這樣......
var dataArray = {
infoID1 : 1,
info1 : "something good",
infoID2 : 2,
info2 : "something bad",
infoID3 : 3,
info3 : "something ugly"
};
的dataArray
然後被塞進以下.ajax
崗位。該.ajax
部分工作正常。
$.ajax({
url: "workingPage.php",
data: dataArray,
type: 'POST',
success: function (otherData) {
$(doStuff);
}
});
任何幫助表示讚賞!
我試過.serialize'的'之前methond,我無法得到它的工作,但我也沒有'inputs'在'form'。我嘗試了很多不同的方法,現在我都讓他們感到困惑。我會給它一個鏡頭,讓你知道。謝謝! – JonDoeCA
如果由於某些原因無法更改代碼,則可以在輸入上使用$ .each循環並創建陣列。即使知道這不是最好的方式,但是這是代碼:$(document).ready(function(){var input = $('input'), dataArray = {}; $ .each(輸入,函數(索引,輸入){ //你的ajax查詢在這裏 }); –
我記得爲什麼'.serialize'不適合我。我有其他的數據,我無法從'.serialize'(div和span)獲得,但是將數據填充到數組中並通過'.ajax'發佈。然而,你使用'.each'的第二個建議對於我所需要的將會很好。感謝這兩個建議。 – JonDoeCA