2013-04-25 36 views
0

视图:如何选择选项值传递到的“href”在播放框架2.0.4的java

   <select name="id" id="drop"> 
          @for(pag <- page){ 

          @if(pag.tenant_location_id == loc.id){ 

          <option value="@pag.id">@pag.pagename</option> 
          } 

          } 
          </select> 


      <a href="@routes.Project.edit(drop down selected value)>Edit</a> 

我试图用JavaScript变种X =的document.getElementById(“下降”)其不接受JavaScript变量值。 感谢您的帮助。

回答

0

您不能将JavaScript值(在客户端声明)作为Scala参数(在运行时编译),所有要传递给Scala函数的参数都必须在视图中声明并获取一些价值即。来自控制器或对象。

解决方案:在选项的值中构建完整的URL,因此使用基本的JavaScript,您可以替换onchange事件中的href。样品(未测试,但应与jQuery的工作)

<select name="id" id="drop"> 
    <option value="">Choose the service...</option> 
    @for(pag <- page){ 
     @if(pag.tenant_location_id == loc.id){ 
      <option value="@routes.Project.edit(pag.id)">@pag.pagename</option> 
     } 
    } 
</select> 

<a href="#" id="editBtn">Edit</a> 
<script> 
    $(document).on('change', '#drop', function(){ 
     $('#editBtn').attr('href', $(this).val()); 
    }); 
</script> 
+0

感谢您的回复,我已经尝试过,但脚本不能正常工作,它总是去#。你会建议我像你在文章中提到的那样工作脚本吗? – joan 2013-04-25 08:57:09

+0

正如我写的 - 我从头顶写下它作为参考,检查固定样本,它现在可以工作 - 用'$(this).val()'替换'this.val()'。当然,我认为你包括jQuery库 – biesior 2013-04-25 09:16:28