绑定或重新加载使用jquery选择2 drodown

时间:2015-10-27 09:27:46

标签: jquery asp.net-mvc jquery-select2

我在我的一个Asp.net MVC应用程序中使用select2下拉列表。我需要在没有刷新页面的情况下在数据库中添加项目后绑定/重新加载下拉列表。现在我正在使用视图包绑定下拉。

我有按钮点击时使用弹出窗口添加新项目的功能。我想在数据库中添加新项目后再次重新加载/绑定。

HTML:

@Html.DropDownListFor(x => x.BuildingSectorId, new SelectList(ViewBag.BuildingSectors, "BuildingSectorId", "Name"), new { @class = "form-control select2 pull-left", @id = "dr_buildingsector" })
<button type="button" class="btn btn-default " onclick="CreateBuildingSectorDialog()"><i class="fa fa-plus"></i></button>

JQuery的

var dropdown = $(".select2");
    if (dropdown != null)
        dropdown.select2({
            minimumResultsForSearch: -1,

        });

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要使用Ajax调用

$(document).ready(function () {
$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "CountryDetails.asmx/LoadCountry",
    data: "{}",
    dataType: "json",
    success: function (Result) {
           Result=Result.d;
        $.each(Result, function (key, value) {
            $("#ddlcountry").append($("<option></option>").val
            (value.CountryId).html(value.CountryName));
        });
      // Another way of writing
        //  for (var i = 0; i < Result.length; i++) {
        // $("#ddlcountry").append("<option value=" + Result[i].ID + ">" + 
        //     Result[i].Name + "</option>");
        //  }

      // One more way of writing
        // for (var i in Result) {
        //  $("#ddlcountry").append($("<option></option>").val(Result[i].ID).
        //   text(Result[i].Name));
        //  }

    },
    error: function (Result) {
        alert("Error");
    }
});

});

答案 1 :(得分:0)

如果要重新下载下拉列表,请使用ajax调用和jquery来加载数据。

$.ajax({
  type: "POST",
  url: "pullDataBase.php",
  success: function(dataget){
    console.log(dataget);
    var data2comboBox1 = JSON.parse(dataget);

    $('#comboBox1').select2({
      placeholder: "Something...",
      data: data2comboBox1,
      disabled : false
    });
    //console.log("current select");
    //console.log($('#comboBox1').val());
    //console.log($('#comboBox1 :selected').text());

  },
  error: function(jqXHR, textStatus, errorThrown){ alert('error ' + errorThrown);}
});
您可以在网址中

过滤结果