我有一個複選框列表,像這樣:jQuery的:創建ID的數組傳遞作爲一個GET參數
<input type="checkbox" value="12" name="urssaf-check[]" class="urssaf-check">
<input type="checkbox" value="13" name="urssaf-check[]" class="urssaf-check">
我需要檢索id的陣列選擇(複選框的值)和通它作爲一個url中的參數。到目前爲止,我有這樣的:
var items = [];
$('.urssaf-check').each(function (key, object) {
items.push($(this).val());
});
這給了我:
["12", "27", "26", "15", "28", "29", "30", "16", "14", "19", "17", "18", "20", "31", "32", "33", "21", "22", "34", "23", "24", "25"]
到目前爲止好,但現在我需要這在一個URL,這樣當我做$ _GET [「IDS」]或類似的控制器,將寫入頁面的內容我可以看到相同的數組數組。
我現在嘗試是這樣的:
var array = { ids : items };
var params = $.param(array, true);
,而params給了我:
ids=12&ids=27&ids=26&ids=15&ids=28......
其中在獲取參數的var_dump將導致上我只得到了最後一個項目的id 。如果我在「ids」之後手動添加[],它會正常工作,但是我想知道用jQuery做這件事的正確方法是什麼。
編輯:我需要的URL在不同的窗口中打開,我在做這樣的:
function MM_openBrWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}
MM_openBrWindow($(this).attr('data-url')+'/?'+params, 'name', "scrollbars=yes,width=1000,height=720");
你在使用querystring,希望不是ajax或類似的東西? – adeneo 2014-09-18 17:04:05
是的,你需要添加[],因爲這是一個PHP的期望。當jQuery不是數組時,jQuery不知道你需要[]作爲名字。 – epascarello 2014-09-18 17:05:09
爲什麼不傳遞一個字符串而不是一個數組..我的意思是,使用'join'在javascript中使用特殊字符連接數組,然後在PHP代碼中使用'explode()'。 – bipen 2014-09-18 17:08:37