2013-11-30 2 views
0

Im пытается получить значение параметра и добавить его в местоположение заголовка.Добавить переменные в заголовок с помощью jquery

<select id="time"> 
<option value="1"> 1 hour</option> 
<option value="2"> 2 hours</option> 
</select> 

При выборе опции из приведенного выше списка он должен затем добавить его в качестве переменной Добраться до текущего URL заголовка .. такие как

заголовок = www.test.com? Время = 2

<select id="time2"> 
<option value="1"> 1 min</option> 
<option value="2"> 2 min</option> 
</select> 

в то время как ток заголовка быть www.test.com?time=2 Если значение было выбрано из этого списка, то мин = 2 должна быть добавлена ​​к текущему заголовку. т.е. - www.test.com?time=2 & мин = 2

(есть несколько выбора параметров, поэтому при выборе каждого один, как я могу добавить переменную получить в текущем заголовке

$('time').on('change', function (e) 
{? 
}); 

ответ

1

я предлагаю:

// binding an event-handler to the 'change' event (selecting by class-name): 
$('.query').change(function(){ 
    // retrieving the current hash (though search is, of course, an alternative): 
    var query = window.location.hash; 
    /* if there is a current hash we apppend the name and value of the 
     current select element to that hash: 
    */ 
    window.location.hash = (query.length > 0 ? query + '&' : '') + this.name + this.value; 
    // verifying the change/showing what was set/changed: 
    console.log(window.location.hash); 
/* triggering the change-handler function, this can be omitted if you don't 
    want the handler to run on page-load: */ 
}).change(); 

в сочетании с немного измененным HTML:

<select name="hour" class="query"> 
    <option value="1"> 1 hour</option> 
    <option value="2"> hours</option> 
</select> 

<select name="mins" class="query"> 
    <option value="1"> 1 min</option> 
    <option value="2"> 2 min</option> 
</select> 

JS Fiddle demo.

Это обновляет window.location.hash (#time=2), а не window.location.search (?time=2) потому, что обновление последнего заставит страницу перезагрузить (с новой поисковой строкой), в то время как обновление hash предотвращает страницу от перегрузки.

Если, тем не менее, страница-перезагрузка не является проблемой для вас, вы можете просто использовать window.location.search вместо window.location.hash.

+0

Привет .. Спасибо за ваш ответ .. он работает! как бы то ни было, хотя он продолжает добавлять время = 2, time = 1, time = 1 .. когда я повторно выбираю вариант .. есть ли способ, когда я могу изменить значение get для времени, если оно уже существует в хеше местоположения вместо добавив его к существующему? – user3038421

Смежные вопросы