2009-11-26 26 views
0

我們假設我們有一個HTML多選。HTML多重選擇到Ajax URL

如何使用多選中的選定值準備ajax請求URL。我正在使用YUI dataTable,所以我不認爲我可以使用表單序列化(但即使我可以,甚至不想)? 生成的URL應該與使用頁面刷新的正常表單提交相同。

我這樣做,但希望能與YUI一種更好的方式是可行的:

function createURLFromMultiSelect(ob, name) { 
    var url = ""; 
    for (var i = 0; i < ob.options.length; i++) { 
     if (ob.options[ i ].selected) { 
      url += "&" + name + "[]=" + ob.options[ i ].value; 
    } 
    } 
    return url; 
} 

回答

0
name=value1&name=value2&name=value3 
+0

嗯,好的。這正是我想要做的。我如何優雅地做它? – 2009-11-26 20:41:23

+0

順便說一句,它應該eb name [] = value1&name [] = value2&name [] = value3 – 2009-11-26 22:23:39

+0

不,它不應該。如果您使用PHP並使用內置於表單解析庫中的PHP,則名稱必須以字符「[]」結尾,但這些字符是名稱的一部分,而不是與其分開。 – Quentin 2009-11-26 22:58:18

-1

您可以選擇的名稱應與[]結束。例如,<select name="items[]">
然後在您的php代碼中,您只需訪問$_POST['items'][$n];count($_POST['items']);或任何您想要對數組執行的操作。

--Dave

+0

我認爲你誤解了我的用例。我沒有提交web 1.0表單,我想要一種手動構建發送ajax請求的URL的方法。 (或者你依賴的是表單序列化,我從解決方案中刪除了這些)。 – 2009-12-01 13:26:52