【问题标题】:ASP.NET MVC5 Select2 not workingASP.NET MVC5 Select2 不工作
【发布时间】:2016-09-26 19:06:45
【问题描述】:

这是我在这个论坛上的第一条消息,提前感谢您的帮助,如果我在这里犯了更大的错误,我们深表歉意。

我正在尝试实现一个 select2 JQuery 自动完成组合框。

我复制了一些代码,但我看不出我的错误在哪里,但编辑文本看起来像一个普通的编辑文本,而不是更改为 Select2,JavaScrypt 出于某种原因无法正常工作。

这是我的代码:

我的 indexcshtml 中的引用:

<link href="~/Content/css/select2.css" type="text/css" rel="stylesheet" />
<script src="~/Scripts/jquery-3.1.0.js"></script>
<script src="~/Scripts/select2.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

我的文本框应该在像 cyndarela 这样的 Combobox 中转换!

@using (Html.BeginForm())
{

    @Html.TextBoxFor(a => a.SupplierId, new { id = "supplier" })  @Html.ValidationMessageFor(a => a.SupplierId)
    <br />
    <button type="submit">Submit</button>
}

最后是我的 JavaScrypt:

<script >



 $(document).ready(function () {

       var pageSize = 20;

       var optionListUrl = '@Url.Action("GetProducts", "Purchases")';

    //Method which is to be called for populating options in dropdown //dynamically

       $('#supplier').select2(

       {

           ajax: {

               delay: 150,

               url: optionListUrl,
               //url: '/Purchases/GetProducts',

               dataType: 'json',



               data: function (params) {

                   params.page = params.page || 1;

                   return {

                       searchTerm: params.term,

                       pageSize: pageSize,

                       pageNumber: params.page

                   };

               },

               processResults: function (data, params) {

                   params.page = params.page || 1;

                  return {

                       results: data.Results,

                       pagination: {

                           more: (params.page * pageSize) < data.Total

                       }

                   };

               }

           },

           placeholder: "-- Select --",

           minimumInputLength: 0,

           allowClear: true,

   });

});

</script>

就像#supplier 在脚本中不起作用

感谢你们的时间!

【问题讨论】:

  • 只是一个评论...我认为验证不会在您的 SupplierId 字段上进行,因为您使用 {new id="supplier'} 更改了元素的 id。除非它使用binging 的 name 属性,验证器将找不到名为“SupplierID”的元素。
  • 我明白你的意思,它对我有帮助。谢谢

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


【解决方案1】:

我有同样的问题。 说明

@Scripts.Render("~/bundles/scripts")

在您的布局视图中包含您的所有脚本,有时它们会包含一些处理 .send2() 的说明

因此您可以删除该行并只导入您需要的脚本 .js 文件,包括 select2。

【讨论】:

    猜你喜欢
    • 2018-09-28
    • 2017-01-12
    • 1970-01-01
    • 2013-04-17
    • 2015-10-29
    • 1970-01-01
    • 2014-03-28
    • 2023-03-04
    相关资源
    最近更新 更多