0

大家好。

我正在使用一个简单的 MVC 3 .net 应用程序并试图弄清楚为什么我不能让 jQuery 工作。

开发环境:Visual Studio 2010、MVC3 Razor

我在 _layout.cshtml 的部分中放置了以下内容:

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="Stylesheet" type="text/css" />

    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
    <link href="@Url.Content("~/Content/themes/base/jquery.ui.core.css")" rel="stylesheet" type="text/css" />     
    <link href="@Url.Content("~/Content/themes/base/jquery.ui.datepicker.css")" rel="Stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/themes/base/jquery.ui.theme.css")" rel="Stylesheet" type="text/css" />   

     @Script("jquery-1.7.2.min.js")
     @Script("jquery-ui.1.8.11.min.js")
     @Script("jquery.ui.core.js")
     @Script("GHRIInventory.js")

@Script 是一个自定义助手:

@helper 脚本(字符串脚本名称){ }

GHRIInventory.js 是一个包含我的代码的外部 .js 文件,它位于我的 Scripts 目录中:

/// <reference path="jquery-1.5.1.js" />
/// <reference path="jquery-ui-1.8.11.js" />
/// <reference path="jquery-1.5.1-vsdoc.js" />
/// <reference path="jquery.ui.autocomplete.js" />

$(document).ready(function () {

      $(".button").click(function () {
        $(this).attr("value", "please wait..");
    });
});

在我看来,我放置了以下内容:

这不是一个复杂的脚本,我只是用它来证明 jQuery 设置正确。应该做的是,当我单击按钮时,按钮文本从“我的按钮”变为“请稍候..”。当我运行应用程序,我看到了按钮,但是当我单击它时没有任何反应。

我觉得我拥有所有必要的元素,但它仍然有效:1) 将 jQuery 添加到 _layout.cshtml 2) 将我的自定义 .js 添加到 _layout.cshtml 以便我的所有视图都可以使用它。3) 在脚本文件夹中创建、编码和放置自定义 .js 3) 将 HTML 元素添加到视图

这是我运行应用程序时源代码的样子:

<

head>
    <meta charset="utf-8" />
    <title>Create</title>



    <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
    <link href="/Content/themes/base/jquery-ui.css" rel="Stylesheet" type="text/css" />

    <script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
    <link href="/Content/themes/base/jquery.ui.core.css" rel="stylesheet" type="text/css" />     
    <link href="/Content/themes/base/jquery.ui.datepicker.css" rel="Stylesheet" type="text/css" />
    <link href="/Content/themes/base/jquery.ui.theme.css" rel="Stylesheet" type="text/css" />   


          <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>   

          <script src="/Scripts/jquery-ui.1.8.11.min.js" type="text/javascript"></script>   

          <script src="/Scripts/jquery.ui.core.js" type="text/javascript"></script>   





     <script src="/Scripts/jquery.ui.core.min.js" type="text/javascript"></script>
          <script src="/Scripts/GHRIInventory.js" type="text/javascript"></script>   


     <script src="../../Scripts/jquery.ui.datepicker.min.js" type="text/javascript"></script>
    <script src="../../Scripts/DatePickerReady.js" type="text/javascript"></script>

</head>


<body>

<input id="button_click" type="button" value="my button" />


</body>

非常欢迎任何故障排除建议...谢谢...

4

2 回答 2

1
   you are selecting by class name i.e. $(".button") and no class is assigned. either you should select by control type i.e. $("button") or by id i.e. $("#button_click").

以及确认您的脚本文件是否放置在与输出源中所写相同的路径上

于 2012-05-04T09:38:02.537 回答
1

看起来你的选择器是错误的;您正在选择所有带有“按钮”类的对象 - 我认为您需要类似 $('input[type="button"]) 或 $('#button_click') 来按 id 选择

于 2012-05-01T16:22:59.260 回答