0
<html>
    <head> </head>
    <body> 
        <select>
            <option value='one' ${Data.input == 11 ? "selected" : ""}>1</option>
            <option value='two' ${Data.input == 22 ? "selected" : ""}>2</option>
            <option value='three' ${Data.input == 3 ? "selected" : ""}>3</option>
            <option value='four' ${Data.input == 44 ? "selected" : ""}>4</option>
        </select>
    </body>
</html>

当我的参数与选项中的任何值匹配时,我试图显示下拉值。

假设如果我的 Data.input 是 3,那么当我打开页面时必须选择选项 3 作为默认值。但它不起作用。

PS:我是网络技术的新手。所以,如果我做错了什么,请告诉我。

编辑:

我正在使用 jsp,你可以在JSFiddle看到输出

4

2 回答 2

2

我假设您正在使用 JSP,因为您在问题中标记了 JSP。

尝试这个:

<html>
    <head> </head>
    <body> 
        <select>
            <option value='one' <%= Data.input == 1 ? "selected" : "" %>>1</option>
            <option value='two' <%= Data.input == 2 ? "selected" : ""%>>2</option>
            <option value='three' <%= Data.input == 3 ? "selected" : ""%>>3</option>
            <option value='four' <%= Data.input == 4 ? "selected" : ""%>>4</option>
        </select>
    </body>
</html>

我还看到你说 == 11,== 22,== 3,==4。应该是1、2、3、4吗?

于 2013-07-04T14:06:14.490 回答
1

作为替代解决方案,您可以将 JSTL 与 EL 一起使用:

<select>
    <option <c:if test="${Data.value == 1}">selected</c:if>> 1 </option>
    <option <c:if test="${Data.value == 2}">selected</c:if>> 2 </option>
    <option <c:if test="${Data.value == 3}">selected</c:if>> 3 </option>
</select>
于 2013-07-04T14:33:30.913 回答