动态创建的数组

时间:2014-12-31 01:51:37

标签: javascript arrays loops

我有一些<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

感谢任何帮助!

1 个答案:

答案 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);
    }
});

就是这样。