Reputation: 77
I have a query with regards to using Ternary Operator in JSP. The below mentioned code uses if else statement which works fine.
<%
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>
But When I use the Ternary Operator it gives me a compile time error stating not a statement.
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>
The Above code basically checks if the TestPerformed is Y or N. If its Y then the Checkbox will be checked or else it will be unchecked. The Jquery is used to change the value of the HiddenTestPerformed input to Y or N.
Kindly help me out as in How do I use this Ternary Operator to fulfill this requirement.
Thanks in Advance.
Upvotes: 5
Views: 16249
Reputation: 6527
You are just missing an equals in the scriplet, also some how you need to insert in (brackets) the whole expression and you dont end with a ;
Finally <%= ( <expression> ? <then_String> : <else_String> ) %>
<input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" <%=("Y".equals(TestPerformed) ? "checked":"")%> >
Upvotes: 6