我有这样的表格:
<form id="filter_form">
<select name="type">
<option value="second">second</option>
</select>
<input type="checkbox" name="city[]" value="new_york" />
<input type="checkbox" name="city[]" value="washington" />
</form>
和js中的这个事件:
$('#filter_form').on('change', function () {
$.ajax({
url: "properties",
method: 'GET',
data: $("#filter_form").serialize(),
success: function(result){
}
});
});
此时网址的构建方式如下:
properties?transaction_type=second&city%5B%5D=new_york&city%5B%5D=washington
但我需要
properties?transaction_type=second&city=new_york,washington
如何进行此加入?
更新编辑:
这种方法对我有帮助,但我找不到实施的方法:
array.map(function() {
return this.value;
}).get().join(',');
答案 0 :(得分:0)
您不需要[]
,因为它们在此上下文中没有任何语义含义。它们也是重复的,最好有独特的变量。
删除这些内容以启动并替换为city1
和city2
这是一个_GET请求,您可以通过city1
和city2
从服务器访问这些值。
如果您希望将它们合并到cities
您可以在JS的客户端编写脚本,将它们组合成一个键/值对。
答案 1 :(得分:0)
您可以在网址
中添加查询字符串properties?transaction_type=second&city=new_york,washington
var data = 'transaction_type=' + <select_value> + '&city=' + <city_values>;
$('#filter_form').on('change', function () {
$.ajax({
url: "properties?" + data,
method: 'GET',
success: function(result){
}
});
});