select2不使用数据属性

时间:2017-12-28 11:58:00

标签: javascript jquery jquery-select2

我试图在.Net Core网站上使用select2作为我的下拉列表。我创建了一个下拉列表:

<select id="buildingIds" style="height:1em;" 
  class="form-control"
  multiple 
  data-ajax--url="@Url.Action("GetLookupTableData", "Buildings")"
  data-ajax--data-type="json" 
  data-placeholder="Select one or more buildings"><option></option></select>

然后在我的剧本中写道:

$('select').each(function () {
  $(this).select2();
});

当我运行所有内容时,我的下拉列表始终响应&#34;未找到任何结果&#34;并且占位符永远不会出现。如果我将我的javascript更改为:

$('select').each(function () {
  $(this).select2({ 
    ajax: {
      url: '/Buildings/GetLookupTableData',
      dataType: 'json'
    }
   });
});

然后一切都按预期工作,除了占位符仍然没有出现。我不想为我网站中的每个选择对其进行硬编码。谁能告诉我为什么它没有读取数据属性?

修改 我不知道它是否有所作为,但我使用webpack捆绑我的javascript。不确定是否可以从select2中留下重要的东西。

编辑2 根据以下评论声明data- *属性仅替换现有选项,我将我的javascript更改为:

$('select').each(function () {
  $(this).select2({
    placeholder: "Select some options",
    ajax: {
      url: '',
      dataType: 'json'
    }
  });
});

仍然没有快乐。显示的占位符是来自javascript的占位符,而不是来自data-placeholder属性的占位符,它仍然不会从data-ajax-url属性中提取URL。

0 个答案:

没有答案