Javascript 在特定索引中填充JS数组
您好,这听起来可能很奇怪,但假设我目前正在这样做:Javascript 在特定索引中填充JS数组,javascript,jquery,ajax,Javascript,Jquery,Ajax,您好,这听起来可能很奇怪,但假设我目前正在这样做: var post_data = $('input[name="checks[]"]:checked').map(function() { return this.value; }).get(); 将多个复选框的内容放入一个数组中,通过AJAX发送。现在我真正想做的是以一种特定的方式构造post_数据 我希望复选框的值存储在与其值匹配的数组位置。我希望这是有道理的:S 假设我的复选框值为: 1,5,3,7
var post_data = $('input[name="checks[]"]:checked').map(function() {
return this.value;
}).get();
将多个复选框的内容放入一个数组中,通过AJAX发送。现在我真正想做的是以一种特定的方式构造post_数据
我希望复选框的值存储在与其值匹配的数组位置。我希望这是有道理的:S
假设我的复选框值为:
1,5,3,7
我希望post_数据的结构如下:
post_数据[1]=1post_数据[5]=5等 忽略这个事实,这可能看起来很愚蠢,有人能帮我吗,我现在正在挣扎。这是我一直在尝试的,但我的知识越来越少: 编辑更新:(代码进度)
非常感谢,你很接近了<代码>值是一个字符串。你想要一个号码。使用
parseInt()
将该字符串转换为数字:
post_data[parseInt(value)] = value;
您应该将
post_数据
初始化为对象
var post_data = {};
这里有一个我想提出一个使用HTML和serialize()的解决方案。如果使用名称中的数组编号构造每个复选框,则将得到所需的结果
<input type="checkbox" name="checkbox[3]" value="3" class="retain_array_value_checkbox" />
<input type="checkbox" name="checkbox[5]" value="5" class="retain_array_value_checkbox" />
<input type="checkbox" name="checkbox[1]" value="1" class="retain_array_value_checkbox" />
我不能测试这个,但它应该能工作。简单明了:)您是否可以将其作为
checks[]=1和checks[]=3和checks[]=5等格式发送,并将其处理为服务器上所需的格式?这似乎是一种更为正常的操作模式。好吧,我做了此更改,但目前阵列似乎没有发布It’谢谢你帮助我。用代码更新。@buymypies听起来像个新问题。请把这个问题留给一个问题,而不是一个正在进行的帮助论坛。@buymypies不必担心,只需根据网站的指导原则推荐最好的方法,这样你的问题(保留为历史)就可能以最好的方式帮助其他用户。我不太明白,我对这种东西一点经验都没有;(我以前没有使用过serialize,我可以这样使用:$.post('search\u item.php',{'data:serialized\u data,…。
?是的,它是通过数据选项传递的[文档提供了一些示例。当前post_数据只是空的。我用我正在尝试的内容更新了我的代码。您需要使用类名来获取所有:选中的元素,并用相应的数字填充名称属性。
<input type="checkbox" name="checkbox[3]" value="3" class="retain_array_value_checkbox" />
<input type="checkbox" name="checkbox[5]" value="5" class="retain_array_value_checkbox" />
<input type="checkbox" name="checkbox[1]" value="1" class="retain_array_value_checkbox" />
var post_data = $('input.retain_array_value_checkbox:checked').serialize();