假设我们有一个像这样的下拉菜单
<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>
还是有一个更好/更简单的方法,一个人不需要迭代每个选项值比较,如果找到匹配,在该行中添加“选定”部分?
答案 0 :(得分:4)
不,就是这样。但通常是
您将使用一些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代码段”,你说明为什么在运行时设置默认值?