2010-11-17 31 views
0

我試圖做一個簡單的圖片庫,在那裏我有幾個單選按鈕組來過濾搜索結果。(我對jquery很新,今天開始學習,請耐心等待。)如何在jquery頁面上發佈所有廣播組的值?

1)我已經試過這段代碼來創建一個關聯數組,但數組是空白的。有任何想法嗎?

$('input:radio:checked').each(function(){ 
     searchCriteria[this.name]=this.value; 
    }); 

2)伴隨着的是,有人可以告訴我如何上傳數據到PHP頁面(使用jQuery AJAX),使用POST方法? 這工作?

$.post('testResults.php',searchCriteria,displayResult); 

爲了每一個試圖幫助: 下面的代碼似乎工作

$('input:radio:checked').each(function(){ 
     searchCriteria.push(new addValue(this.name,this.value)); 
     //searchCriteria['this.name']=this.value; 
    }); 

function addValue(a,b) 
{ 
    this.key=a; 
    this.val=b; 
}; 

但是,創建一個對象數組.....爲什麼我在創建關聯數組的問題?

+0

您是否在調用'each()'之前定義了'searchCriteria'? – lonesomeday 2010-11-17 13:07:11

+0

看起來可以工作。你確定,當你調用代碼時DOM已經準備好了嗎?任何JS錯誤? – AndreKR 2010-11-17 13:07:50

+0

@lonesomeday:yeh它被定義爲searchCriteria = new Array()。 @AndreKR:我沒有得到任何錯誤。我用螢火蟲跟蹤事情,事情看起來很正常。 – Bluemagica 2010-11-17 13:22:10

回答

0

試試這個:

var searchCriteria = {}, 
$('input[type="radio"]:checked').each(function(){ 
    searchCriteria[$(this).attr('name')] = $(this).val(); 
}); 

確定,可能是你這個輸出有用發送AJAX?

var searchCriteria = $('input:radio:checked').serialize(); 
+0

OP的'searchCriteria [this.name] = this.value;'的建議好得多。 – lonesomeday 2010-11-17 13:10:23

+0

也出現空白。我不認爲抓取是問題,因爲下面的代碼工作: $('input:radio:checked')。each(function(){searchItemPriteria.push(new addValue(this.name,this.value )); //searchCriteria['this.name']=this.value; }); function addValue(a,b) this.key = a; this.val = b; }; 但是這會創建一個對象數組,我想知道爲什麼我不能創建一個對象數組? PS:對不起,我不知道如何在評論中輸入代碼 – Bluemagica 2010-11-17 13:14:41

+0

我更新了答案,你可以看看你是否如此有用 – 2010-11-19 04:16:32

相關問題