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那个么为什么不创建一个检查值数组,或者一个以值为键、状态为布尔元素的对象呢?