2011-05-31 134 views
1

我再次,jQuery基於複選框的Ajax請求

試圖學習一些jQuery的東西。現在我正在構建一個AJAX搜索引擎。 AJAX請求應該取決於複選框的值。

我有多組複選框:band [],genere []和type []。然而,我堅持發送適當的AJAX請求到PHP腳本。

我的代碼:

$("input.filter").click(function() {   
    if($("input.filter:checked").length) 
     sendRequest('type=ajax&target=display&' + $("input.filter").serialize()); 
    else 
     sendRequest('type=ajax&default=true&target=display') 
}); 

問題:它不是螞蟻檢查工作複選框,選中第二個複選框或當複選框沒有被選中時,它的工作原理。一般來說,非常錯誤。

任何人都可以提供建議或正確的功能名稱,可以幫助我解決這個問題嗎?

我的複選框看起來像這樣的: <input type="checkbox" name="band[]" class="filter" value="blind guardian" />

+0

如何使用.change()而不是.click()。嘗試一下,看看我的工作更好 – Matt 2011-05-31 13:45:50

+0

它適用於我在Chrome中正常工作,你能提供更多示例代碼,以便我們可以看到你有什麼和它爲什麼不工作? http://jsfiddle.net/nJxmN/ – 2011-05-31 13:46:47

+0

@Matt .change()根本不起作用。你有什麼其他的建議? – user342111223 2011-05-31 13:47:07

回答

0

方括號都需要多選[],這是很好的方式。

你的序列化的字符串應該是工作的服務器端,像一個數組:

key[]=A&key[]=B&key[]=C 

是:

Array (
    0 => "A", 
    1 => "B", 
    2 => "C" 
) 

必須有別的東西,如果它不能正常工作。 主要問題是什麼,你的體驗如下:

  • 點擊處理程序不會觸發?
  • serialize創建不良數據?
  • bad ajax response?
+0

非常感謝! ;-) – user342111223 2011-06-28 15:40:28