简体   繁体   English

将JavaScript变量附加到option元素

[英]Append JavaScript variable to option element

I have a table with combo box in my jsp : 我的jsp中有一张带组合框的桌子:

<form:form modelAttribute="mainCommodity" id="mainCommodityForm">
  <table id="customPostTable" >
    <td>
        <form:select path="postId">
            <form:option value="0" id="PleaseSelect2"/>
            <form:options items="${posts}" itemValue="id" itemLabel="name"/>
        </form:select>
        <form:errors path="postId"/>
    </td>
    <td style="padding: 2px ;vertical-align:middle;border: 1px solid" id="addMoreElem">
        <img id="addMoreImage" src="/images/Plus.png" onclick='addMore("${postsString}")'  alt="<fmt:message key="button.addRow"></fmt:message>">
    </td>
  </table>
</form:form>

Now I want to append another rows to this table by clicking button in JavaScript. 现在,我想通过单击JavaScript中的按钮将另一行追加到此表中。 allPosts is an array which contains my combo box items in java script. allPosts是一个数组,其中包含Java脚本中的组合框项目。 My jsp code for append to table is as follows: 我的附加到表的jsp代码如下:

function addMore(attr) {
    var data = "";
    data = "<tr>" +
           "<td style='padding: 2px;vertical-align:middle;border: 1px solid'>" +
           "<select name='postId'>" +
           "</select>" +
           "</td>"+
           "<td style='padding: 20px'  class='noBorder-fa' >" +
           "<img id='addMoreImage' src='/images/Plus.png' onclick='addMore("+attr+")'  alt='<fmt:message key="button.addRow"></fmt:message>' > " +
           "</td>" ;

   $("#customPostTable").append(data);
}

How can I append options to the select element with value of allPosts in JavaScript? 如何在JavaScript中将选项添加到具有allPost值的select元素上?

Does this works for you: 这对您有用吗:

 function addMore(attr) { allPosts = ["One", "Two", "Three"]; var data = ""; all_Posts_Options = ""; for(var i=0; i<allPosts.length; i++) { all_Posts_Options = all_Posts_Options + "<option>" + allPosts[i] + "</options>"; } data = "<tr>" + "<td style='padding: 2px;vertical-align:middle;border: 1px solid'>" + "<select name='postId'>" + all_Posts_Options + "</select>" + "</td>"+ "<td style='padding: 20px' class='noBorder-fa' >" + "<img id='addMoreImage' src='/images/Plus.png' onclick='addMore()' alt='<fmt:message key=\\"button.addRow\\"></fmt:message>' > " + "</td>" ; $("#customPostTable").append(data); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table id="customPostTable"> </table> <button onclick="addMore(null)">Add more</button> 

Please note that inserting new elements via HTML is not recommended . 请注意, 不建议通过HTML插入新元素。
DOM manipulation tools shall be used instead . 应该使用DOM操作工具代替 See MDN MDN

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM