获取select2字段的选择器正在多个Select2元素之间进行搜索

时间:2018-04-02 08:57:08

标签: javascript jquery jquery-select2 jquery-select2-4

我正在创建一个具有多个Select2字段自动生成的应用程序。但是现在我只想编辑一个字段,但我不知道如何获得一个元素的选择器,因为所有字段在初始化时都具有相同的类

enter image description here

@foreach (var model in Model.Articles)
{
    <select class="article-select">
       <option value="model.ArticleId" data-articleNo="model.ArticleNo" selected="selected">model.ArticleNo_Name</option>
    </select>
}

这是我对具有相同类

的所有select2字段的初始化
$(".article-select").select2({
      language: {
          noResults: function (e) {
              return "No results found, <a class='newData btn btn-xs btn-success' href='#' >Advanced search</a>";
          },
          searching: function (e) {
              return "Searching, <a class='newData btn btn-xs btn-success' href='#' >Advanced search</a>";
          },
          inputTooShort: function (e) {
              return "Please enter 1 or more characters, <a class='newData btn btn-xs btn-success'>Advanced search</a>";
          }
      },
  ajax: {
    url: "/Project/Search",
    dataType: 'json',
    delay: 250,
    data: function (params) {
      return {
        q: params.term, // search term
        page: params.page
      };
    },
    processResults: function (data, params) {
      // parse the results into the format expected by Select2
      // since we are using custom formatting functions we do not need to
      // alter the remote JSON data, except to indicate that infinite
      // scrolling can be used
      params.page = params.page || 1;

      return {
        results: data.items,
        pagination: {
          more: (params.page * 30) < data.total_count
        }
      };
    },
    cache: true
  },
  escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
  dropdownAutoWidth: false,
  minimumInputLength: 1
  //templateResult: formatRepo, // omitted for brevity, see the source of this page
  //templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});

现在在每个高级搜索按钮中,我将捕获事件打开弹出窗口正在搜索Select2字段。但我不知道如何获得当前搜索字段的选择器。

$(document).on('click', '.newData', function (e) {
      // I need to get selector of current search fields here, but how because all search fields is initializing at the same time. There is no different
      var row = $(this).parents("tr");

      var $select2 = $(row).find(".article-select");
      var $select22 = $(".article-select");
      console.log($select2);
      console.log($select22);
      $select2.select2("trigger", "select", {
          data: { id: "ccbcc8f6-dc91-4aee-8054-de0658bacaf4", text: "35580_CSP Windows 10 Enterprise E3" }
      });

  });

0 个答案:

没有答案