美好的一天!
我在html中的选择框有问题.我在我的简单CRUD项目的EDIT部分,在用户可以编辑之前,首先显示所选数据,然后通过servlet在数据库中检索它.
现在我希望我检索的数据是我的选择框中的SELECTED(默认值). ${product.category}
<select size="1" name="category">
<option value ="1">Dogs</option>
<option value ="2">Cats</option>
<option value ="5">Others</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我尝试像这样插入但它不起作用.
<select size="1" name="category" selected=${product.category}>
<option value ="1">Dogs</option>
<option value ="2">Cats</option>
<option value ="5">Others</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情..如果($ {product.category} == 1),选择=选项1 ......
我见过像这在论坛中的一个,但它是在PHP格式.我怎么能用JSP做到这一点?
非常感谢你.
Bal*_*usC 13
该selected属性必须包含在HTML <option>元素上,并且只应在选项值匹配时设置.最优雅的方式是使用条件运算符?:.
<select name="category">
<option value="1" ${product.category == '1' ? 'selected' : ''}>Dogs</option>
<option value="2" ${product.category == '2' ? 'selected' : ''}>Cats</option>
<option value="5" ${product.category == '5' ? 'selected' : ''}>Others</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果你有一些List或更多的项目,那就更好了Map.例如,List<Category>哪里Category有id和name属性.
<select name="category">
<c:forEach items="${categories}" var="category">
<option value="${category.id}" ${product.category == category.id ? 'selected' : ''}>${category.name}</option>
</c:forEach>
</select>
Run Code Online (Sandbox Code Playgroud)
这样您就不需要为所有选项重复相同的操作.
| 归档时间: |
|
| 查看次数: |
25049 次 |
| 最近记录: |