获取<s:select>的listValue

来源:互联网 发布:淘宝 女店主 绳子泳衣 编辑:程序博客网 时间:2024/04/28 14:13
原文地址:获取<s:select>的listValue作者:金色双子座

     在开发中我们常用到struts2的form表单组件,其中select最常用的写法如下:

    <s:select label="对象类型" name="emp.deptId"list="listValues" listKey="oid" listValue="name" headerKey=""headerValue="--请选择--" onchange="changeHidenValue(this)"></s:select>

    当提交表单时,只能在后台获得listKey的值,而无法提交listValue的值。

    现有需求同时提交listKey和listValue,解决方法如下:

    1、在select的onchange事件函数中,获得option中的text,即listValue。

    2、这时,写回到表单的一个隐藏域中。

    首先,在<s:select>标签中添加(onchange="changeHidenValue(this)")。然后在表单中添加隐藏域<inputtype=hidden id="deptName" name="emp.deptName"value=""/>。最后写事件绑定函数,如下:

     

    function changeHidenValue(elem){

        varoptionVal= $(elem).find("option:selected").text(); // 取到选中的listValue(Option)的值

        $("#deptName").val(optionVal);

    }

    点击表单提交测试一下,结果正确!

      

0 0