2011-07-29 45 views
0

如何將可變數量的字段傳遞給.load()的第二個參數?我試圖用ajax加強我的搜索,並一直遵循Symfony的Jobeet tutorial。不幸的是,除了文本字段,我還有一個我想要通過的隱藏字段列表。我不能serialise表單的所有輸入,因爲我必須首先在文本字段上執行操作。發送jQuery負載中的變量字段

功能看起來是這樣的:

$('#search').keyup(function(key) 
{ 
    // do something to the value 
    var query = this.value; 

    $('#results').load(
    $(this).parents('form').attr('action'), 
    // pass query along with all hidden fields 
    { query: query, /* variable number of hidden input fields go here */ } 
); 
} 

一種選擇可能已經連載到各個領域,但「搜索」的輸入,追加修改query變量,並通過該字符串。但是,缺少getting all fields並循環遍歷它們,手動創建該字符串,我不知道該怎麼做。

回答

0

你可以建立對象在一個循環:

var params = { query: query }; 
$('#form input[type="hidden"]').each(function() { 
    params[this.name] = $(this).val(); 
}); 

$('#results').load(
    $(this).parents('form').attr('action'), params 
); 
+0

謝謝,這就是我一直在尋找的。不知道爲什麼我沒有看到。 – Druckles