如何在javascript中动态加载选择选项值

How to load select options value dynamic in javascript

本文关键字:加载 选择 选项 动态 javascript      更新时间:2023-09-26

我使用的是java+struts。

我正在创建动态表行并动态加载到选择选项值使用javascript,我的代码是.

function addRow() {
        var table = document.getElementById('tableID');
        var rowCount = table.rows.length;
        var countval = rowCount;
        var row = table.insertRow(rowCount);
        //country
        var cell1 = row.insertCell(0);
        var element1 = document.createElement("select");
        element1.style.width = "250px";
        element1.id = "countryId" + countval;
        var o = document.createElement('option');
        o.value = "0";
        o.text = "[SELECT]";
        element1.options.add(o);
        cell1.appendChild(element1);
        var o = document.createElement('option');
        o.value = "1";
        o.text = "India";
        element1.options.add(o);
        cell1.appendChild(element1);
}

这是html代码:

<input type="button" value="add" onclick="addRow()">
<table id="tableID"></table>

加载选择选项值在struts标签上起作用这起作用:

<html:select property="countryId">
   <html:optionsCollections name="countryForm" property="countryList" value="countryId" label="countryName"/>
</html:select>

上面的代码是有效的,但我需要使用javascript使用选择选项值来实现相同的逻辑。如何加载国家/地区值。请任何人帮我,谢谢;提前

我不明白为什么需要创建动态选择,即使它是使用Struts标签解决的
但是,如果您需要它,我可以建议您在Javascript中嵌入struts逻辑的非推荐方法
喜欢

function addRow(){
    alert("inside addRow");
    var list = new Array();
    var value = new Array();
    var i = 0;
    <logic:iterate name="countryForm" property="countryList" id="country">
      list[i] = '<bean:write name="country" property="countryName" />';
      value[i] = '<bean:write name="country" property="countryId" />';
      i++;
    </logic:iterate>
    var table = document.getElementById('tableID');
    var rowCount = table.rows.length;
    var countval = rowCount;
    var row = table.insertRow(rowCount);
    //country
    var cell1 = row.insertCell(0);
    var element1 = document.createElement("select");
    element1.style.width = "250px";
    element1.id = "countryId" + countval;
    var o = document.createElement('option');
    o.value = "0";
    o.text = "[SELECT]";
    element1.options.add(o);
    cell1.appendChild(element1);
    for(i=0; i<list.length; i++){
        var item = document.createElement('option');
        item.value = value[i];
        item.text = list[i];
        element1.options.add(item);
        cell1.appendChild(element1);
    }
}