[英]change selected value of dynamically generated dropdown list
我在JSP页面中生成了一个动态下拉列表,如下所示:
<table BORDER=4 BORDERCOLOR=ORANGE width="300px">
<tr>
<td>Model:</td>
<td><select name="model" id="model">
<c:forEach items="${model_list}" var="item">
<option value="${item.modelId}">${item.modelName}</option>
</c:forEach>
</select></td>
</tr>
</table>
我只想根据我从这里获得的另一个值来更改这些下拉列表的选定值:
<table BORDER=4 BORDERCOLOR=ORANGE width="120px" id="product_table">
<c:forEach items="${product_list}" var="car">
<tr>
<td><INPUT type="checkbox" name="chk_group" value="${car.carId}" /></td>
<td><c:out value="${car.carId}" /></td>
<td><c:out value="${car.model.modelName}" /></td>
<td><c:out value="${car.model.modelId}" /></td>
</table>
这是脚本:
function findRowNumber() {
var rowIdx;
var rowData = new Array();
var table = document.getElementById('product_table');
var rows = table.getElementsByTagName('tr');
var selectedRow;
for ( var i = 0; i < rows.length; i++) {
rows[i].onclick = function() {
rowIdx = this.rowIndex;
selectedRow = rows[rowIdx];
document.getElementById('model').value = selectedRow.cells[3].innerHTML;
}
}
}
注意: selectedRow.cells[3].innerHTML
返回3但值不会改变。
我在HTML中看不到任何带有model
ID的内容。 您是否将具有model
名称的输入也称为id?
我还注意到你的第二张表中没有结尾</tr>
。
不要使用var rowData = new Array();
使用文字表示法: var rowData = [];
。
在添加了id之后,添加了几个<tr>
,它对我很有用:
请注意,调试JavaScript的一个问题,当你渲染HTML输出更加有用。 当它是DOM操作问题时,我们通常不关心您的服务器正在做什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.