Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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/1/php/269.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_Php_Jquery_Ajax_Post - Fatal编程技术网

Javascript 使用JQuery创建关联数组

Javascript 使用JQuery创建关联数组,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我正在尝试使用JQuery创建一个关联数组。我想用用户从UI中选择的复选框的值来填充它 起初我是这样创建阵列的: $contentArray = []; $('.content-filter :checked').each(function(){ $contentArray.push(this.value); }) 但问题是,当我通过Ajax将其传递给php脚本时,很难从中获取值。我希望能够根据与数组关联的键从数组中获取值 因此,我决定将我的代码修改为: $contentArray =

我正在尝试使用
JQuery
创建一个
关联数组。我想用用户从
UI
中选择的复选框的值来填充它

起初我是这样创建阵列的:

$contentArray = [];
$('.content-filter :checked').each(function(){
    $contentArray.push(this.value);
})
但问题是,当我通过
Ajax
将其传递给
php
脚本时,很难从中获取值。我希望能够根据与数组关联的键从数组中获取值

因此,我决定将我的代码修改为:

$contentArray = new Array(); //Hold checked "content" filters
//Content Filter - cycle through each filter and add value of checked ones to array
$('.content-filter :checked').each(function(){
    $contentArray[this.value] = this.value;
})
但是现在,当我执行
console.log
时,我被告知数组的内容不包含任何内容


有谁能建议我如何解决这个问题,并告诉我哪里出了问题

您的筛选器错误-您需要删除
:checked
之前的空格,否则它将在选中的复选框中查找元素,该元素显然不存在:

$contentArray=newarray()//保持选中的“内容”过滤器
//内容筛选器-循环遍历每个筛选器,并将选中筛选器的值添加到数组中
$('.content-filter:checked')。每个(函数(){
$contentArray[this.value]=this.value;
})
log($contentArray)


您需要一个JavaSript。JavaScript没有关联数组。它有数组,也有对象,数组恰好是对象。我不明白。如何将值映射到值(即,
$contentArray[this.value]=this.value;
)有任何用处?您需要知道键才能查找值。但是键的值必须是存储在它上面的实际值,这使得查找完全没有意义。@spender,在这种情况下,这样做对我来说最有意义。我正在尝试将用户检查的所有过滤器传递给php脚本,该脚本将在包含这些过滤器的数组中循环,并相应地构造一个sql语句。@Javacadabra那个么为什么不创建一个检查值数组,或者一个以值为键、状态为布尔元素的对象呢?