2016-03-15 17 views
0

我有這樣的形式:序列化的形式,但複選框數組轉換爲逗號分隔

<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 

我該怎麼做這個連接?

UPDATE編輯:

這種方法會幫助我,但我不能找到一種方法來實現:

array.map(function() { 
    return this.value; 
}).get().join(','); 
+0

這將有助於http://stackoverflow.com/a/9966097/5571157 –

+0

是不是我所需要的,請我的編輯的問題。 –

回答

0

你不需要[]因爲他們沒有在任何語義含義這個背景。它們也是重複的,最好的做法是擁有獨特的變量。

的開始刪除這些,代之以city1city2

這是一個_GET要求,你將能夠從服務器中訪問這些值作爲city1city2

如果你想把它們組合成cities

您可以在JS客戶端編寫一個腳本,將它們組合成一個鍵/值對。

+0

城市來自數據庫,最後我只需要city = value1,value2。輸入或選擇全部都是動態生成的。 –

+0

請檢查我的編輯更新。 –

0

您可以將您的查詢字符串URL中

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){ 
     } 
    }); 
}); 
+0

我不知道輸入的名稱,因爲它們是動態生成的,所以我不能構建數據。 –

相關問題