2013-03-24 184 views
1

出於某種原因,我有我的網頁上的iframe:jquery - 合併url參數的最簡單方法是什麼?

<iframe src="/widget?id=2"/> 

而且我在js代碼具有可變地址

var address = 'some street'; 

我需要添加一個新的參數,以IFRAME SRC屬性,因此它看起來像:

<iframe src="/widget?id=2&address=some%20street"/> 

祝:

  • 不要打擾什麼地址的格式變量是:它不但可以包含空格,還可以包含逗號,分號等(以某種方式由用戶插入);
  • 不要做醜陋的字符串操作,總是難以閱讀;
  • 能夠處理多個參數(不僅地址) 更優雅的方式。

    params.merge {:address => address} 
    

    我想在jQuery的是這樣的,如果它是更多鈔票:

例如合併網址 PARAMS在Ruby on Rails的的那樣容易。

回答

0

我現在的(粗糙和快速)的實現是:

var src = $('iframe').attr('src'); 
var new_src = src.replace(/([?&])address=[^$&]*/,'$1address='+encodeURI(address));; 
if (src == new_src) new_src = src+'&address='+encodeURI(address); 
$('iframe').attr('src',new_src); 
+0

如果你在你的查詢字符串'street_address'? – Blender 2013-03-24 08:19:07

+0

對不起,沒有得到你。 我要改變的參數是**地址**,用戶只能改變它的值,而不能改變它的名字。 – installero 2013-03-24 08:20:59

+0

你的正則表達式也會替換'street_address'的值。就個人而言,我只是將URL參數解析到一個對象中,對其進行修改,然後將其重新轉換爲查詢字符串。 – Blender 2013-03-24 08:22:04

相關問題