0

假设我的页面具有以下 HTML:

<form action="/some/where" method="POST">
     <div id="someDiv">
     </div>
</form>

然后假设我单击一个按钮,该按钮调用一个函数,该函数使用 jQuery 以某种方式将下拉列表添加到该 DIV。

(我正在使用 DataTables 并且 DIV 确实是 TD)

    var ddlSubset = '<select id="ddlSubset_' + rowNum + '"></select>';
    oTable.fnUpdate(ddlSubset, rowNum, 3, false, true);

    var subsetsURL = "/TotalTuple/Subsets";

    $.getJSON(subsetsURL, function (data) {
        for (i = 0; i < data.length; i++) {
            if (data[i] == subsetData) {
                $('#ddlSubset_'+rowNum).append($('<option selected></option>').text(data[i]));
            }
            else {
                $('#ddlSubset_' + rowNum).append($('<option></option>').text(data[i]));
            }
        }

    });

如果我在制作控件之前和之后查看页面源,它​​们是相同的。

当我提交表单时,新的 DDL 不会传递。

如何确保 DDL 包含在表单中?

4

1 回答 1

1

试试这个:- http://jsfiddle.net/aidioo7/2Ra2S/1/

只需为name动态添加的选择提供属性。

JS:-

jQuery(function($){
    $("#btnAddDropdown").on("click",function(){
        $("#someDiv").html("<select name='test'><option>Test</option></select>");                           
    });

     $("#btnSubmit").on("click",function(){
         $("#myForm").submit();
     });

    $("#myForm").on("submit",function(){
        var datastring = $("#myForm").serialize();
        console.log(datastring);
    });
});

HTML:-

<form id="myForm" action="/some/where" method="POST">
     <div id="someDiv">
     </div>
</form>

<input type="button" value="Add Dropdown" id="btnAddDropdown" />
<input type="button" value="Submit Form" id="btnSubmit" />
于 2013-11-01T03:53:14.443 回答