在运行时在下拉菜单中选择默认值

时间:2011-07-13 06:57:54

标签: java html drop-down-menu

假设我们有一个像这样的下拉菜单

<select name="op" >  
    <option value="1">A</option>  
    <option value="2">B</option>  
    <option value="3">C</option>  
</select>

现在,我需要指定值为“2”的选项应该是默认值(我只在调用页面时知道这个,所以不能硬编码默认值) 我是否正确,我需要将上面的代码段(在运行时)转换为像

这样的东西
<select name="op" >  
    <option value="1">A</option>  
    <option selected value="2">B</option>  
    <option value="3">C</option>  
</select>

还是有一个更好/更简单的方法,一个人不需要迭代每个选项值比较,如果找到匹配,在该行中添加“选定”部分?

2 个答案:

答案 0 :(得分:4)

不,就是这样。但通常是

  1. 您的值列表也是动态的,无论如何您都必须遍历它以生成HTML选项
  2. 您将使用一些Web框架,它将为您提供处理此问题的JSP标记和/或UI组件。您的代码将如下所示:

    <s:select name="op"> <s:options optionsCollection="${actionBean.theOptions}" value="id" label="name"/> </s:select>

答案 1 :(得分:1)

您可以使用javascript和JQuery在运行时设置默认值,如下所示:

<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquerylatest.js"></script>
    <script>
        $(document).ready(function(){
            $('select[name=op] option[value=2]')attr('selected', 'selected');
        });
    </script>
</head>
<body>
    <select name="op">
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>
    </select>
</body>
</html>

但有一件事让我很奇怪。如果它是“写成静态html代码段”,你说明为什么在运行时设置默认值?