我有一个关于在 JSP 中使用三元运算符的查询。下面提到的代码使用 if else 语句,效果很好。
<%
if ("Y".equals(TestPerformed)) {%>
Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" checked>
<%} else {%>
Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" >
<%}%>
<input type="text" id="HiddenTestPerformed<%=RowCount%>" name="TestPerformed" value="<%=TestPerformed%>"/>
<script>
$(function () {
$("#TestPerformed<%=RowCount%>").change(function () {
$("#HiddenTestPerformed<%=RowCount%>").val(($(this).is(':checked')) ? "Y" : "N");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是当我使用三元运算符时,它会给我一个编译时错误,指出不是语句。
Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" <%"Y".equals(TestPerformed) ? "checked":"";%>>
<input type="text" id="HiddenTestPerformed<%=RowCount%>" name="TestPerformed" value="<%=TestPerformed%>"/>
<script>
$(function () {
$("#TestPerformed<%=RowCount%>").change(function () {
$("#HiddenTestPerformed<%=RowCount%>").val(($(this).is(':checked')) ? "Y" : "N");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
上面的代码主要检查 TestPerformed 是 Y 还是 N。如果是 Y,则复选框将被选中,否则将被取消选中。Jquery 用于将 HiddenTestPerformed 输入的值更改为 Y 或 N。
请帮助我,如如何使用此三元运算符来满足此要求。
提前致谢。
你只是在脚本中缺少一个等号,还有一些你需要如何插入(括号)整个表达式并且你不以;
最后<%= ( <expression> ? <then_String> : <else_String> ) %>
<input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" <%=("Y".equals(TestPerformed) ? "checked":"")%> >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15178 次 |
| 最近记录: |