我有这个代码添加?prside=5
。但是,如果您更改此内容并且网址已为&prside=5
,则只会再次附加该网址(&prside=5&prside=40
)。
如果它已经存在,我如何更新它而不是附加它?
<select name="prside" onchange="document.location.href = document.location.href + \'&prside=\' + this.value">
<option>Annoncer pr. side</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="40">40</option>
</select>
编辑: 真实URL中还有其他GET变量。上面的脚本确实有效,但是多个&amp; prside
并不是很漂亮答案 0 :(得分:1)
您可以使用字符串indexOf方法检查是否存在prside,然后您可以使用正则表达式替换值(如果存在):
href = document.location.href;
if(!~href.indexOf('prside'))
document.location.href = href + 'prside=' + this.value;
else
document.location.href = href.replace(/(prside=)\d+/, '$1' + this.value)
如果你想直接把它放到HTML
中,这是一个单行document.location.href = !~document.location.href.indexOf('prside') ? document.location.href + 'prside=' + this.value : document.location.href.replace(/(prside=)\d+/, '$1' + this.value);