2016-03-10 26 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个参数。当我从选择框中选择一个选项时,第一个不需要改变,但第二个必须。 使用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。例如,我在project1中,我的URL是这样的:....projectName=project1。我点击另一个项目,来自该项目的信息加载,但URL不会更改,即使我更改了参数。 我的下一个问题和最大的问题是,我只能选择一个项目。在我点击project2后,它加载信息和选择选项。但是,如果我选择project3,我会得到一个空白页面。我尝试过各种项目组合,总是在第二次变更时获得白页。

应该说,我正在使用Google Apps脚本。

编辑:我使用console.log后,我使用window.location.href = url;和URL是正确的。我在链接栏中只显示一个问题。

编辑2:我找到了解决方案: 我把这个在我的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

你是什么意思?不改变浏览器中的网址,或者网址改变了,程序没有按预期工作? – TeilZeitMensch

+0

对不起,不具体。我的网址在浏览器中没有变化,但仍然在第二次更改之后,我得到一个白页 –