我有一個選擇元素的值與某些數字(某些id)的選項。替換href在選擇變化
<select id="select">
<option value="21">Random<option>
<option value="23">Random 2<option>
<option value="25">Random 3<option>
<option value="27">Random 4<option>
</select>
在它旁邊是一個提交按鈕,它將執行某種提交。
<a class="button" href="www.random.org">Click me!</a>
我需要的?id=
添加到鏈接,與價值選擇的ID。我創建的代碼,但問題是,它只是追加?id=
我每次改變選擇的選項
var id;
$('#select').on('change', function(){
id = $(this).val();
var new_href = $('.button').attr('href') + '?id=' + id;
$('.button').attr('href', new_href);
});
所以,當我點擊第一個選項,我得到,對於href
www.random.org?id=21
但是,如果我點擊第二個(或任何有關事項)我得到
www.random.org?id=21?id=23
它追加ID。如何在變更時「清除」以前的ID,並用選定的ID替換?我究竟做錯了什麼?
對錨標籤的數據屬性。不要從'href'屬性讀取URI,而是從data-attribute中讀取。 –
您可以將原始的href保存爲一個單獨的屬性,例如'data-href-orig =「www.random.org」'然後像這樣設置href'$('。button')。attr('href',$('。button')。data('href- orig')+'?id ='+ id);'。 –
請記住,如果沒有協議(http | https),它將很可能被視爲相對URI並可能無法正常運行。 – EternalHour