2011-06-07 28 views
0

我使用這樣的事情將變量添加到json字符串或點擊交換?

$.getJSON("http://myurl.com/search-ext.json&type=aaaaaa&callback=?", 

工作正常,但現在我需要添加這樣的另一種類型的變量確定:

$.getJSON("http://myurl.com/search-ext.json&type=aaaaaa&type=bbbbb&callback=?", 

是的,他們具有相同的名稱....所以我可以插入其他類型還是有辦法用onclick替換字符串?

回答

0

添加[]的關鍵在你的網址:

$.getJSON("http://myurl.com/search-ext.json&type[]=aaaaaa&type[]=bbbbbb&callback=?", 

另外,我不知道,如果你這樣做的目的或沒有,但如果你需要它至少會出現?以.json後:

$.getJSON("http://myurl.com/search-ext.json?type[]=aaaaaa&type[]=bbbbbb&callback=?", 

然後,例如在PHP中,你將不得不在服務器上的數組:

$_GET['type'] ~ array('aaaaaa','bbbbbb') 

編輯

繼補充意見,我相信這是你在尋找什麼:

http://plugins.jquery.com/project/query-object

var newerQuery = $.query.SET('type', 'bbbbb'); 
var newURL = "http://myurl.com/search-ext.json?" + newerQuery; 
$.getJSON(newURL); 

一個例子:

http://jfcoder.com/test/gettypes.php?type=aaaaaa&callback=MyCallback

EDIT 2

<a href="href://www.somewhere.com/?type=aaaaaa&amp;other=yes&amp;another=yes&amp;yeti=neverseen" 
    onClick="return replaceType(this,'bbbbbb')">Link</a> 

function replaceType(el, value) { 
    sub = el.href.substring(0,el.href.indexOf('?')); 
    split = el.href.substring(el.href.indexOf('?')+1).split("&"); 
    for (var i = 0; i < split.length; i++) { 
     if (split[i].indexOf('type=') !== 0) continue; 
     split[i] = encodeURI("type="+value); 
    } 
    el.href = sub + "?" + split.join('&'); 
    alert(el.href); 
    return false; 
} 

http://jsfiddle.net/Phjsv/1/

+0

可能只是離開它。什麼會加入[] = bbbbb呢?我是cnfused - 我試圖根據點擊鏈接顯示不同的結果。 – mark 2011-06-07 23:02:42

+0

一個需要與第二個類型和一個沒有它。 – mark 2011-06-07 23:03:32

+0

沒有PHP,這必須是JavaScript或jQuery的 – mark 2011-06-07 23:05:59