2

?prside=5たとえば、追加するこのコードがあります。ただし、これを変更し、URL が既に である場合は&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 変数があります。そして、上記のスクリプトは機能しますが、複数の &prside ではあまりきれいではありません

4

1 に答える 1

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);
于 2012-08-28T14:24:12.330 に答える