如何将动态创建的文本框值的id数组传递给mvc3中的控制器

时间:2014-03-28 11:12:53

标签: jquery

下面是我的动态创建文本框和自动完成功能的jquery代码。它工作得很好。但我想发送id数组到控制器http方法。 当我创建多个文本框并从中为每个文本框选择记录时。 我想要所选记录的id数组以及如何将此数组发送到控制器。

<script type="text/javascript">

$(document).ready(function () {
    var i = 0;


    $("#lnkAddProduct").on("click", function () {
        @*var url = "@Url.Content("~/Scripts/GeneralScript.js")";
             $.getScript(url, function () {
             });*@
        var d = '<div class="addedProduct "><div class="control-group " style="margin-bottom:10px;"><input type="text" class="ProductName span2 pull-left" id="Product_Name_' + i + '"name="Product_Name" value="" placeholder="start typing to load products" )"/><input type="hidden" class="pid" name="ProductId" id="ProductId" value=/><a href="#" class="clsremove font-midium" style="margin-left:5px;margin-top:5px;" id="remove_' + i + '">remove</a></div></div>';
        $('#ProductList').append(d);
        alert("newID:"+i);

        $(".clsremove").unbind("click").click(function () {
            $(this).closest(".addedProduct").remove();
        });


        $('body').delegate(".ProductName", "focusin", function () {
            $(this).autocomplete({
                source: '@Url.Action("NewvendorList","Product")',

            minLength: 1,

            select: function (evt, ui) {
                JSON.stringify(ui);

                $("#Product_Name").val(ui.item.label);
                alert("Product_Name:"+ $("#Product_Name").val());
                //$("#ProductId").val(ui.item.id);

            },

        });
        });

        i = i + 1;          
    });       
}); 

请有人帮助我。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用这个

var selectedItem = [];
$("ProductName").each(function (index) {
    selectedItem.push($(this).val()*1); // i multiple to 1 to insure it's numeric
});

 $.ajax({
    url: "/YourController/YourAction",
    type: "POST",
    data: { ids: selectedItem },
    traditional: true,
    success: function(data) {
       //Do Your callback action here
    }
});

在你的控制器中你也有这样的代码:

[HttpPost]
public ActionResult YourAction(int[] ids)

我希望它对你有用。