如何将附加的下拉列表插入到db中

时间:2015-06-04 09:23:32

标签: javascript asp.net-mvc drop-down-menu

任何人,这是一个很长的问题所以请耐心等待。所以我在我的表格中有一个下拉选择国家。有一个按钮,它将添加另一个下拉列表,允许用户选择另一个国家/地区。因此,如果用户选择添加另一个下拉列表,则不会将第二个值插入数据库中,只会插入第一个值。下面是我的下拉列表。

                <div class="editor-field" id="mb">  
                    Member Countries


                    <div id="jj">
                        @Html.DropDownListFor(model => model.Memberc, ViewBag.lCountry as SelectList, "--select--", new { @id = "tid0" })<br />
                    </div>

下面是添加下拉列表的按钮

                <div id="test">
                </div>
                <input type='button' value='Add' id='addButton'>

然后我们有javascript来完成克隆下拉列表的工作。

<script>
$(document).ready(function ()
    {
        $("#addButton").click(function () {
            var elements = $("select[id!='template']");
            var newElement = $("#jj").clone(true);
            var count = elements.length;
            if (count > 8) {
                alert('no more dropdowns');
            }
            else {
                newElement.attr('id', count);//rename new element so that it refers to     distinguished object instead of cloned object
                $("#test").append(newElement);
            }
        });

        $("#removeButton").live("click", function () {
            $(this).parents("div.jj:first").remove();
            return false;
        });
    });
</script>

继承了链接存储过程的DAL

    public static ListOfItems CreateSchemeCInsert(ListOfItems objListOfItems)
    {
        SqlDataReader rdrDataAccess = null;
        ListOfItems objListOfItemsDetails = null;
        SqlConnection database = new SqlConnection(MyCOODataConn.MyCOOConnectionString);

        //Insert Data in DB
        database.Open();
        SqlCommand databaseCmd = new SqlCommand("SP_APP_Specific_SchemeCInsert", database);//name SP in database
        databaseCmd.CommandType = CommandType.StoredProcedure;
        databaseCmd.Parameters.Add(new SqlParameter("@User_scheme_master_id", objListOfItems.msi));
        databaseCmd.Parameters.Add(new SqlParameter("@Country_id", objListOfItems.Memberc));


        rdrDataAccess = databaseCmd.ExecuteReader();
        objListOfItemsDetails = new ListOfItems();

        return objListOfItemsDetails;

    }

我的存储过程看起来很正常

    Insert into [dbo].[APP_Specific_Scheme_Country] 
(user_scheme_master_id, country_id)
Values (@schemeid,@Country_id)

那么为什么只有第一个下拉列表插入到表中呢?而不是第二,第三等等。如果我的解释不清楚,请随时提出任何问题。抱歉英语不好。

1 个答案:

答案 0 :(得分:0)

我会说objListOfItems只会填充一个值,但由于没有显示它只是一个受过良好教育的猜测。