0

我正在使用 JQuery 在按下按钮时添加表单元素。问题是我无法获取要渲染的元素。仅呈现文本“--开始输入名称--”。当我右键单击并检查元素时,我会看到所有 jquery 呈现的元素。没有样式可以防止新添加的元素可见。没有控制台错误。

这是我的 .js 文件中的一个片段,它应该插入表单元素

$(document).ready(function() {


    var orgPosition = 0;
    $("#addOrgButton").click(function() {
        orgPosition++;

        $('#orgs').append('<br><div class="field_container"><form:label path="org_id"><spring:message code="label.org_id" /></form:label><form:select id="org_id" class="selectorg" path="jobOrgs[' + orgPosition + '].org_id"><form:option value="0">-- Start typing name --</form:option><form:options items="${organizationsList}" itemLabel="organization" itemValue="org_id" /></form:select></div>');
    });

从我的jsp...

<form:form id="formid" method="post" action="addJob.html" commandName="jobModel">
    <div id="orgs">
        <div class="field_container">
            <form:label path="full_name">
                <spring:message code="label.jobFullName" />
            </form:label>
            <form:input class="input" path="full_name" />
            <form:errors path="full_name" cssClass="job_error" />
        </div>
        <br>
        <div class="field_container">
            <form:label path="abbreviation">
                <spring:message code="label.abbreviation" />
            </form:label>
            <form:input path="abbreviation" />
        </div>
        <br>
        <div class="field_container">
            <form:label path="org_id">
                <spring:message code="label.org_id" />
            </form:label>
            <spring:bind path="jobOrgs[0].org_id">
                <form:select id="org_id" class="selectorg" path="${status.expression}">
                    <form:option value="0">-- Start typing name --</form:option>
                    <form:options items="${organizationsList}" itemLabel="organization" itemValue="org_id" /></form:select>
            </spring:bind>
        </div>
    </div>
    <input type="button" id="addOrgButton" value="Add" />
    <br>
</form:form>

这是单击“添加”后包含相关元素的页面截图。如您所见,页面上有元素,但它们是不可见的。我应该有两个“组织”下拉列表。 点击后我的页面

4

1 回答 1

2

这里有一篇很有帮助的文章... jquery clone form fields and increment id

所以答案是使用 clone() 并使用正则表达式来增加您的索引。详细信息和示例在上面的链接中给出。附加 Spring 表单元素将不起作用,因为附加发生在浏览器端,而 Spring 表单元素是在服务器端编译的。浏览器对 Spring 元素一无所知。

于 2014-04-03T14:43:33.837 回答