zoukankan      html  css  js  c++  java
  • 改变HTML下拉框选项的方法


    提交表单后返回的HTML页面重新渲染,SELECT控件的value和selectedIndex属性都无法使下拉框保留提交表单前的状态。 

    <SELECT id="idState" style="150" name="state" selectedIndex="$!{state}">
        <OPTION value="">全部</OPTION>
        <OPTION value="1">通过</OPTION>
        <OPTION value="2">末通过</OPTION>
        <OPTION value="3">待处理</OPTION>
    </SELECT>

    一种临时的解决方案是在vm文件末尾加上一段脚本为下拉框赋值:

    <script>
        $('#idState').val('$!{state}');
    </script>

    另一种方案是设置默认选中项:

    <SELECT id="idState" style="150" name="state" value="$!{state}">
        <OPTION value="">全部</OPTION>
        <OPTION value="1">通过</OPTION>
        <OPTION value="2" SELECTED>末通过</OPTION>
        <OPTION value="3">待处理</OPTION>
    </SELECT>

    用VTL的写法就是:

    <SELECT id="idState" style="150" name="state" value="$!{state}">
        <OPTION value="">全部</OPTION>
        <OPTION #if($!{state} == 1) SELECTED #end  value="1">通过</OPTION>
        <OPTION #if($!{state} == 2) SELECTED #end  value="2">末通过</OPTION>
        <OPTION #if($!{state} == 3) SELECTED #end  value="3">待处理</OPTION>
    </SELECT>

    这里要注意的是:进行==比较时,Velocity是区分类型的,如果用字符串“1”、“2”、“3”比较会始终得到false。


    参考:

    velocity中比较的问题 http://www.oschina.net/question/237818_38403?sort=time&p=1


    
    
    
    
    
    
    
       
    
  • 相关阅读:
    [题解]Magic Line-计算几何(2019牛客多校第三场H题)
    [题解]Crazy Binary String-前缀和(2019牛客多校第三场B题)
    [数论]快速幂取模
    [模板]大整数乘法——累加型
    [动态规划] 最大子段和问题
    2073
    17-2-24-D
    17-1-31-C
    2032
    1992
  • 原文地址:https://www.cnblogs.com/xiaomaohai/p/6157787.html
Copyright © 2011-2022 走看看