簡體   English   中英

更改動態生成的下拉列表的選定值

[英]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> ,它對我很有用:

http://jsfiddle.net/FJfZK/

請注意,調試JavaScript的一個問題,當你渲染HTML輸出更加有用。 當它是DOM操作問題時,我們通常不關心您的服務器正在做什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM