帮手库“select2”对我不起作用

时间:2014-01-11 23:52:21

标签: html asp.net-mvc-3 razor jquery-select2

我的故事

我即将提供样品,所以我可以找到一份工作。该公司的员工喜欢我编写编程代码的方式,但由于我不是那种在网页上工作的人,他们使用ASP.NET MVC 3或4请求精心设计的单页示例代码,他们说我可以使用模板和辅助工具,设计比我用HTML和CSS的知识完成它更重要(虽然我不了解AjaxjQuery),所以我问了他们一个星期的时间,我已经做了一些部分,但还有工作要做,主要是用户界面。

开始工作

我正在使用ASP.NET MVC 3(Razor视图引擎),Bootstrap和select2,我不确定我的层次结构是否格式正确并影响帮助程序,但是这就是我做到的:

ASP.NET MVC3 Hierarchy With Bootstrap and Select2

因此,我还在_layout.cshtml文件中添加了如下所示的连接:

<!DOCTYPE html>
<html dir="rtl">
<head>
    <meta charset="utf-8" />
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>

    <!--BOOTSTRAP-->
    <link href="@Url.Content("~/css/bootstrap.min.css")" rel="stylesheet"/>
    <script src="@Url.Content("~/js/bootstrap.min.js")"></script>

    <!--Select2-->
    <link href="@Url.Content("~/select2-3.4.5/select2.css")" rel="stylesheet"/>
    <script src="@Url.Content("~/select2-3.4.5/select2.js")"></script>

    <!--MY CSS-->
    <link href="~/Content/my_style.css" type="text/css" rel="stylesheet"/>
</head>

<body>
    @RenderBody()
</body>
</html>

然后我去了我的索引文件并添加了以下内容:

@model SinglePage.Models.SinglePageIndexViewModel

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<link href="@Url.Content("~/select2-3.4.5/select2.css")" rel="stylesheet"/>
<script src="@Url.Content("~/select2-3.4.5/select2.js")"></script>
<script>
    $(document).ready(function () { $("#e1").select2(); });
</script>

<h2>خانه</h2>
@using(Html.BeginForm()){
    @Html.ValidationSummary(true)

    <select id="e1">
        @foreach (var customer in Model.CustomerList)
        {
            <option value="@Html.DisplayFor(c=>customer.Code)">@Html.DisplayFor(c => customer.FirstName) @Html.DisplayFor(c=>customer.LastName)</option>
        }
    </select>

}

就像那个例子告诉我的那样。所以我用SQL Server中的数据填充了我的选择,它变成了这样:

Select Select2 Helper Won't Work

正如您所看到的,它不会影响UI。我还检查了CSS和JavaScript链接,但它们似乎没有被破坏。

另外,我在控制台中收到了一些消息,我让你在这里看到:

Console Logs for Select2 Helper Class

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

在您的控制台中显示on不是select2中的功能,因为您的jQuery版本较旧。将jQuery更新到最新版本。从jQuery 1.7开始,.on()方法提供了附加事件处理程序所需的所有功能。所以你需要添加jQuery 1.7或更高版本。