我有一些<inputs>
是动态创建的,当checked
他们创建了一个动态array
时,会将其填入.ajax
帖子。除动态创建的array
外,所有这些都有效。如果我手动创建array
它工作正常,我就无法动态创建它。 ID(infoID1,infoID2,infoID3)和值(1,2,3)中使用的数字是通过PHP循环(infoID{$x}
)创建的。
示例输入
<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" />
以下dataArray
是我遇到各种问题的地方。我需要在这个动态创建的dataArray
(使用某种类型的循环)中添加复选框的ID和值,并向ID变量添加连续数值(infoID + 1
变为{{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
感谢任何帮助!
答案 0 :(得分:1)
以下是一些更改:
1-为您的输入添加名称,如下所示:
<form name="myForm" id="myForm">
<input id="infoID1" name="mycheckboxid[]" type="checkbox" value=1/>
<input id="info1" name="mycheckboxvalue[]" type="text" value="something good"/>
<input id="infoID2" name="mycheckboxid[]" type="checkbox" value=2/>
<input id="info2" name="mycheckboxvalue[]" type="text" value="something bad" />
<input id="infoID3" name="mycheckboxid[]" type="checkbox" value=3/>
<input id="info3" name="mycheckboxvalue[]" type="text" value="something ugly" />
</form>
2-使用serialize()函数:
$.ajax({
url: "workingPage.php",
data: $('form#myForm').serialize(),
type: 'POST',
success: function (otherData) {
$(doStuff);
}
});
就是这样。