我修改了一个成功运行的java脚本,使其在java中与jsp一起工作。但是,它没有按照预期工作,这里在jsp我动态创建基于java hashmap输入的行。它给了我jsp中的问题,但是在html + javacsript中它按预期工作。
所以基本上,当我尝试做出选择时。选择从一行跳到另一行,我不能做出3种不同的选择。分享屏幕截图以供参考。
PS:这不是html问题,请原谅我的语法问题,如果在jsp中,因为我是jsp的新手。我花了很多时间来解决这个问题,如果你能修复jsp片段,我会很感激你的!
这是我的jsp片段:
<tr align="left">
<td align="left"> <%out.println( tempsysDetails1.getCategory().get(i)); %> </td>
<td align="left"> <input type="radio" name="inlineRadioOptions_' + i + '[]" value="0" id="inlineRadio0"' +
$bean{tempsysDetails1.getSystemStatus().get(i)))== '0' ? ' checked="checked"' : '' )} + '><font color="black">Grey  </font><label class="radio-inline">
<input type="radio" name="inlineRadioOptions_' + i + '[]" value="1" id="inlineRadio1"' + $bean{tempsysDetails1.getSystemStatus().get(i)))== '1' ? ' = 1 ? ' checked="checked"' : '') +
'><font color="green">Green  </font><label class="radio-inline"><input type="radio" name="inlineRadioOptions_' + i + '[]" + id="inlineRadio2" value="2"' +
($bean{tempsysDetails1.getSystemStatus().get(i)))== '2' ? ' checked="checked"' : '' ) + '><font color="yellow">Yellow  </font></label><label class="radio-inline">
<input type="radio" name="inlineRadioOptions_' + i + '[]" id="inlineRadio3" value="3"' +
$bean{tempsysDetails1.getSystemStatus().get(i)))== '3' ? ' checked="checked"' : '') + '> <font color="red">Red</font></label></td>
<td align="left"><input type="text" id= "comments[i]" class="form-control name_list" placeholder="<%out.println(tempsysDetails1.getComments().get(i)); %> "> </td>
</tr>
这是我的工作javascript + html。
$(document).ready(function() {
var appStatus = [{
"category": "Overall Status",
"status": "0"
}, {
"category": "System Availability",
"status": "1"
}, {
"category": "Whatever",
"status": "2"
}];
var tr;
for (var i = 0; i < appStatus.length; i++) {
tr = $('<tr/>');
tr.append("<td>" + appStatus[i].category + "</td>");
tr.append('<tr id="row' + i + '"><td><input type="radio" name="inlineRadioOptions_' + i + '[]" value="0" id="inlineRadio0"' +
(appStatus[i].status == '0' ? ' checked="checked"' : '') +
'><font color="black">Grey  </font><label class="radio-inline"><input type="radio" name="inlineRadioOptions_' + i + '[]" value="1" id="inlineRadio1"' +
(appStatus[i].status == '1' ? ' checked="checked"' : '') +
'><font color="green">Green  </font><label class="radio-inline"><input type="radio" name="inlineRadioOptions_' + i + '[]" id="inlineRadio2" value="2"' +
(appStatus[i].status == '2' ? ' checked="checked"' : '') +
'><font color="yellow">Yellow  </font></label><label class="radio-inline"><input type="radio" name="inlineRadioOptions_' + i + '[]" id="inlineRadio3" value="3"' +
(appStatus[i].status == '3' ? ' checked="checked"' : '') + '> <font color="red">Red</font></label><td></tr>');
//tr.append("<td>" + "<input>" + appStatus[i].comments + "</input>" + "</td>");
tr.append("<td>" + '<tr id="row' + i + '"><td><input type="text" id="appStatus[i].comments" name="appStatus[i].comments" placeholder="Comments" class="form-control name_list" required' + "</td>");
$('table').append(tr); }
$('#result').on('click', function() {
var new_status = [];
$('.table tbody tr').each(function() {
new_status.push({
category: $(this).find('td:eq(0)').text(),
status: $(this).find(':radio:checked').val()
});
});
console.log(new_status);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table table-hover">
<thead>
<th>Category</th>
<th>Status</th>
<th>Comments</th>
</thead>
</table>