我理解这个问题可能听起来很基本,但我整个上午一直试图解决它,但我仍然无法做到。我真的很感激任何帮助。
我的jsp页面中有两个单选按钮。当选择任何一个时,它会调用一个javascript函数。如果您选择单选按钮1,它会显示表1中的数据,如果选择单选按钮2,则会显示表2中的数据。
结果,我的页面被刷新,并且不再选择单选按钮。我想向用户显示选择了哪个单选按钮。
function viewUploadedData(){
document.location.href = "ForecastInquiryFilter.do?exportVar=viewUploadedData";
function viewTopsData(radio){
document.location.href = "ForecastInquiryFilter.do?exportVar=viewTopsData";
}
<input type="radio" name="dataTypeToView" id="topsData" onclick="viewTopsData();"/>
<label for="topsData">TOPS Data</label><br/>
<input type="radio" name="dataTypeToView" id="uploadedData" onclick="viewUploadedData();"/>
<label for="uploadedData">Uploaded Data </label>
答案 0 :(得分:3)
如果使用“checked”属性为单选按钮生成html,则会进行检查。例如,以下html将生成一个选中的单选按钮:
<input type=radio name=myradio value=1 checked>
所以,说到这里,你需要修改你的jsp来有条件地为相应的单选按钮生成“checked”属性。据推测,你的jsp知道检查了哪个单选按钮,所以希望这应该很容易编码。
所以,你的jsp代码可能看起来像这样:
<%
String whichRadio = request.getParameter("myradio");
String r1checked = "";
if (whichRadio.equals("1")) r1checked = " checked";
String r2checked = "";
if (whichRadio.equals("2")) r2checked = " checked";
%>
<input type=radio name=myradio value="1"<%= r1Checked %>>
<input type=radio name=myradio value="2"<%= r2Checked %>>
上面的代码将为你调用jsp时检查的无线电产生checked属性。如果未选中任何无线电,则不会生成任何已检查的属性。
答案 1 :(得分:1)
在将页面重新发送回浏览器之前,您需要在服务器上设置单选按钮的CHECKED属性。
HTTP是stateless protocol。
答案 2 :(得分:0)
使用jstl
<input type="radio" name="digest" value="md5" <c:if test="${digest == 'md5' or empty digest}">checked</c:if>>md5
<input type="radio" name="digest" value="sha1" <c:if test="${digest == 'sha1'}">checked</c:if>>sha1