从使用AJAX填充的下拉列表中获取控制器的操作方法的值

时间:2015-03-17 10:39:55

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

我有一个填充了Ajax调用的下拉列表,现在我必须选择填充值并将其存储在控制器操作方法的数据库表中。我在堆栈溢出link1link2上完成了这两个答案并尝试提供解决方案,但它不起作用。

行动方法:

public ActionResult ClassCreated(Class c)
{
  c.Course.title = Request.[""];
  c.ClassName=Request["ClassName"];
  c.strength = Int16.Parse(Request["strength"]);
  c.rollNoPattern = Request["rollNoPattern"];
  db.Classes.Add(c);
  db.SaveChanges();
  return RedirectToAction("Index");
}

Jquery的:

<script>
  $(document).ready(function () {
    $('#b1').click(function () {
      var userName = "Hello"
      $.getJSON("/classes/getCourseList?username=" + userName, function (data1) {
      var myOptions =
      {
        val1: data1.title
      };
      var $mySelect = $('#s1');
      $.each(myOptions, function (val, text) {
        $mySelect.append($('<option />',
        {
          value: val,
          text: text
        }));
      });
    });
   });
  });
</script>

1 个答案:

答案 0 :(得分:0)

$("#b1").on("click", function () {

            var url = "/classes/getCourseList/";
            $.ajax({
                type: 'POST',
                url: url,
                dataType: "json",
                traditional: true,
                success: function (data) {

                    $("#dropdownId").empty();

                    $("#dropdownId").append($("<option>").val("").text("Please select Category"));
                    $.each(data, function () {
                        $("#dropdownId").append($("<option>").val(this.Value).text(this.Text));
                    });
                }
            });
            return false;
        });