2013-04-25 49 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