我有一些<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
这就是我遇到各种问题的地方。我需要将复选框的 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);
}
});
感谢任何帮助!
最佳答案
这里需要做一些更改:
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);
}
});
就是这样。
关于javascript - 动态创建的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27715174/