2016-03-10 6 views
0

У меня есть поле выбора, каждая строка - это проект. Я хочу щелкнуть проект и перенаправить меня на эту страницу проекта. На каждой странице есть один и тот же флажок. Мой выбор выглядит так:Заменить window.location на якорь

select class="select_box" name="state" style="width:200px;float:right;margin-right:45px;"> 
    <? for(var i=0;i<proiecte[0].length;i++){?> 
    <option class="optiune" value="<?=proiecte[0][i]?>"><?=proiecte[0][i]?></option> 
    <? }?> 
    </select> 

Шкала выбора выглядит хорошо.

Теперь моя ссылка проекта выглядит следующим образом:

https://script.google.com/a/macros/COMPANY/s/AKfycbytWWGfWbOj_-Qi6eXwZraMgAS6xa0blmRfXVzLJV4/dev?page=project&projectName=Name%20Of%20Project 

Как вы можете видеть, у меня есть 2 параметра в моих URL. Первому не нужно изменять, когда я выбираю параметр из поля выбора, но второй должен. Используя jQuery, мне удалось изменить проект, когда я нажимаю на параметр и перенаправляю на эту страницу.

$(document).ready(function(){ 
$(".select_box").change(function(){ 
console.log('Selected value: ' + $(this).val()); 
var url = "<?=getPathFromUrl(getScriptUrl());?>?page=project&projectName="; 
url += encodeURIComponent($(this).val()); 
//window.location.replace(url); 
window.location.href = url; //i tried what TeilZeitMensch suggested 
}); 
}); 

Моя проблема в том, что этот. Я нажимаю на одно имя проекта, и я перенаправлен на эту страницу БЕЗ удаления моего URL. Например, я в проекте1, мой URL-адрес примерно такой: ....projectName=project1. Я нажимаю на другой проект, информация из этого проекта загружается, но URL-адрес не изменяется, даже если я меняю параметры. Моя следующая проблема и самая большая проблема в том, что я могу выбрать только один проект. После того, как я нажму на project2, он загрузит информацию и параметры выбора. Но если я выбираю project3, я получаю пустую страницу. Я пробовал различные комбинации проектов, всегда получаю белую страницу при втором изменении.

Следует сказать, что я использую скрипт Google Apps.

EDIT: Я использую console.log, после того как я использую window.location.href = url;, и верно. У меня есть проблема с отображением на панели ссылок.

EDIT2: Я нашел решение: Я положил это в свой HTML.

<form id="projNavForm" action="<?=getPathFromUrl(getScriptUrl());?>"  method="GET"> 
<input type="hidden" name="page" value="project"/> 
<input type="hidden" name="projectName" value="" id="projectName"/> 
</form> 

И я использовал этот JQuery:

$(".select_box").change(function(){ 
if($(this).val() != 'None'){ 
    $("#projectName").val($(this).val()); 
    $("#projNavForm").submit(); 
} 
+0

ли вы проверяете выбора опций коробки? Имеет ли название проекта для каждой опции (на вновь загруженной странице)? –

+0

Да, так оно и есть. Это то же самое значение, которое показано. –

+1

Пожалуйста, разместите свой ответ в поле ответа, а не добавьте его в вопрос. (Кроме того, appscript для сценариев Apple. Я изменил на правильный тег) –

ответ

0

Для "реальных перемен" из URL, вы можете использовать:

window.location.href = url; 
+0

Все еще не работает. –

+0

Что значит? разве URL-адрес в браузере не изменяется или изменяется URL-адрес, и программа не работает, как ожидалось? – TeilZeitMensch

+0

Извините, если не быть конкретным. Мой URL-адрес в браузере не изменяется, и все же, после второго изменения, я получаю белую страницу. –

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