如何在play framework 2.0.4 java中将select选项值传递给“href”

时间:2013-04-25 05:41:26

标签: playframework-2.0

观点:

              <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 var x = document.getElementById('drop')它不接受javascript变量值。 谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

解决方案:在选项的值中构建整个网址,因此使用基本JavaScript,您只需替换href事件上的onchange即可。示例(未经过测试,但应与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>