Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript和JQuery从表单检索密钥_Javascript_Jquery_Ajax - Fatal编程技术网

使用JavaScript和JQuery从表单检索密钥

使用JavaScript和JQuery从表单检索密钥,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用以下代码将表单结果检索到数组中。这将根据$result\u columns\u c数组的输入向用户显示多个复选框 foreach($result_columns_c as $key=>$value){ echo "<td width='20%'><input type='checkbox' class='input_options_sqlUpdate_a' name='input_options_sqlUpdate_a[$value]' value='$value

我使用以下代码将表单结果检索到数组中。这将根据$result\u columns\u c数组的输入向用户显示多个复选框

foreach($result_columns_c as $key=>$value){
echo "<td width='20%'><input type='checkbox' class='input_options_sqlUpdate_a' 
name='input_options_sqlUpdate_a[$value]' value='$value'> $key</td>";
}

<script>
function optionsSubmit(){
    var inputs = $('.input_options_sqlUpdate_a:checked');
    input_a  = [].map.call(inputs, function( input ) {
        return input.value;
    })
    $.get("../index.php", {input_sqlQuery_a:input_a, sqlQuery:'true', sqlUpdate:'true', serialize:'true'}, function(data){
        $("#test").html(data);
    });
}       
</script>
foreach($result\u columns\u c as$key=>$value){
回显“$key”;
}
函数选项提交(){
变量输入=$('.input_options_sqlUpdate_a:checked');
input_a=[].map.call(输入,函数(输入){
返回input.value;
})
$.get(“../index.php”,{input\u sqlQuery\u a:input\u a,sqlQuery:'true',sqlUpdate:'true',serialize:'true',函数(数据){
$(“#测试”).html(数据);
});
}       

然而,这只会创建一个包含值的数组。如何使用键($value1)创建一个数组,或者最好只从表单中检索结果作为关联数组?

您可以在
array.from()
.map()
调用,computed属性返回一个对象,该对象以键、值对的形式反映
输入的
.name
.value
。您可以使用
.replace()
RegExp
/^.+\[\]/g匹配
.name
属性的开头,并包括
[/code>字符或
]
字符,替换设置为空字符串

var输入=$(“输入”);
var input_a=Array.from(输入,函数({name,value}){
返回数组(name.replace(/^.+\[\]/g,“”),值);
});
控制台日志(输入a)


Try
return{[input.name]:input.value}
@guest271314是否有一种简单的方法来获取值([$value1]),而不是获取整个名称(input\u options\u sqlUpdate\u a[$value1])?@charlietfl serializearray()可以工作,但是如何让它与$('.input\u options\u sqlUpdate\u a:checked')一起工作?它不返回数组吗?有没有一种简单的方法可以从检查的值中获取作为数组的输入?您所说的“自动连接不同的数组”是什么意思?@ArthurWalker您可以包括您正在讨论的
html
?请参见编辑的问题不包含您描述的呈现的
html
。由两个
元素生成的
html
是什么,以及预期生成的数组或对象数组是什么?@ArthurWalker从两个
元素生成一个数组
[[0,$value1],[1,$value2]
?或者一个对象数组,其中key是数组
[{0:$value1},{1:$value2}]
的索引?原始问题似乎没有提到索引,而是在
.name
属性中获取被
[
]
包围的值。是吗?
$。map()
将返回的数组元素连接到现有数组。您可以使用
Array.from()
或您的原始方法
[].map.call()