在用户输入的运行时动态生成相同的下拉列表

时间:2011-03-14 04:18:48

标签: c# jquery .net asp.net-mvc

我在这里有一个关于上述标题的问题。

让我们说我已经填充了一个下拉列表:

<%: Html. DropDownListFor ( m => m. CategoryMenu , Model. CategoryMenu, "Select Category"  )%>

我有一个显示“添加新类别”的按钮(我正在尝试添加具有相同来源的其他类别)

我需要能够收集用户输入的所有数据。

例如,如果用户添加了另一个类别,我应该能够在回发期间获得两个不同的值。

我可以使用jquery完成它吗?

.net c#中是否有任何条款可以执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以将此作为带有JSON响应的ajax请求执行此操作:

<script type="#text/javascript">

     $(document).ready(function{
           $("#MyAddCategoryForm").submit(AddNewCategory);
     });

     function AddNewCategory()
     {
         var categoryTitle= $("#MyCategoryTextField").val();

         var data = {categoryTitle:categoryTitle};

         $.post("/Category/Add/", data, function(data, response){
                if(response == "success")
                {
                      var option = $("<option></option>").html(categoryTitle).val(data.Value);

                      $("#MyCategoryDropDown").append(option);
                }
         });

         return false;
     }

</script>

控制器代码:

[HttpPost]
public JsonResult(string categoryTitle)
{
      //Insert category into DB
      //And retrieve unique ID as "value"

      int value = //add to db

      return Json(new {Value = value});
}

请原谅任何错误,请不要实际执行此操作,但这应该非常接近标记。