Jquery 使用get方法从表单输入传递数组
我使用get方法从表单输入(复选框)传递一个数组。 在ajax中执行此操作时,请使用:Jquery 使用get方法从表单输入传递数组,jquery,ajax,forms,Jquery,Ajax,Forms,我使用get方法从表单输入(复选框)传递一个数组。 在ajax中执行此操作时,请使用: var subcat_checked = new Array(); $.each($("input[name='subcategories']:checked"), function() { subcat_checked.push($(this).val()); }); $.ajax({ type: 'GET', url: '{% url view-category root_cate
var subcat_checked = new Array();
$.each($("input[name='subcategories']:checked"), function() {
subcat_checked.push($(this).val());
});
$.ajax({
type: 'GET',
url: '{% url view-category root_category.slug %}',
data: {subcat: subcat_checked},
success: function(result) {
/* stuff */
},
dataType: 'json'
});
未选中复选框时,变量键为“子类别”,选中某些复选框时,变量键为“子类别[]”
现在,当使用非ajax表单发送它并选中一些复选框时,变量键是“categories”(末尾没有[])
由于我希望在禁用javascript时使用非ajax表单作为回退,所以我希望在选中某些复选框时使用相同的键
有人知道我怎么做吗
谢谢试试这个:
var subcat_checked = $("input[name='subcategories']:checked").serializeArray();
$.ajax({
type: 'GET',
url: '{% url view-category root_category.slug %}',
data: {subcat: subcat_checked},
success: function(result) {
/* stuff */
},
dataType: 'json'
});
这是jQuery 1.4+中所做的更改,但您可以使用来反转它,以获得旧的非[]序列化,如下所示:
$.ajax({
traditional: true,
type: 'GET',
url: '{% url view-category root_category.slug %}',
data: {subcat: subcat_checked},
success: function(result) {
/* stuff */
},
dataType: 'json'
});
您可以在中阅读更多关于该选项的信息(将对象作为数据
属性传递时最终调用的内容)…但基本上它完全满足您的需要,关闭[]
。看看这个问题“