2012-07-28 88 views
0

我有以下的javascript test.js文件:的Javascript没有被称为@ Html.ActionLink

$("#addItem").click(function() { 
    alert("yup"); 
    $.ajax({ 
     url: this.href, 
     cache: false, 
     success: function (html) { $("#bandRows").append(html); } 
    }); 
    return false; 
}); 

,我想用它来注入一些HTML到页面上的“bandRows”分区。我用剃刀在MVC 3应用程序,像这样:

索引视图,它包含了,点击时注入的局部视图HTML链接:

@model IEnumerable<TariffBand> 

     <script type="text/javascript" src="[email protected]("~/Scripts/jquery-1.3.2.js")"></script> 
     <script type="text/javascript" src="[email protected]("~/Scripts/MicrosoftAjax.js")"></script> 
     <script type="text/javascript" src="[email protected]("~/Scripts/test.js")"></script> 

    <h2>Index</h2> 

    @using (Html.BeginForm()) 
    { 
    <div id="bandRows"> 
     @foreach (var band in Model) 
     { 
      Html.RenderPartial("BandEditorRow", band); 
     } 
    </div> 

    @Html.ActionLink("Add band...", "Add", null, new { id = "addItem" }) 

    <input type="submit" value = "Done" /> 

此刻,当我点击JavaScript是没有被调用的链接 - 不被显示的警告框 - 和链接只是导航到“添加”局部视图,而不是将其注入“bandRows” DIV。

有谁能告诉我为什么?我之前没有使用JavaScript,所以我明显做了一些愚蠢的事情,但无法为我的生活工作。

编辑 - 我修改了.js文件,所以处理程序是用于点击不是onclick。我也曾尝试修改HTML帮手:

@Html.ActionLink("add band...", "Add", null, new { onclick = "addItem" }但仍然没有骰子。

感谢 大卫

回答

2

你有

$("#addItem").onclick(function() 

有没有像$.onclick

这将是

$("#addItem").click(function() 

编辑

$().ajax({应该$.ajax({

和整个代码应在document.ready()

$(document).ready(function(){ 
    $("#addItem").click(function(){ 
    . 
    . 
    . 
}); 

编辑 - 2

正如你已经承认你是非常新的JavaScript的世界里,我给的详细信息代码:

<script type="text/javascript" src="[email protected]("~/Scripts/MicrosoftAjax.js")"></script> 
@* <script type="text/javascript" src="[email protected]("~/Scripts/test.js")"></script> *@ 

<h2>Index</h2> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#addItem").click(function(){ 
      alert("yup"); 
      $.ajax({ 
       url: this.href, 
       cache: false, 
       success: function (html) { 
        $("#bandRows").append(html); 
       } 
      }); 
      return false; 
     }; 
    }); 
</script> 

document ready是你需要开始jQuery时学习非常初步的事情。 Thisready事件的API文档。而here是了解document ready的教程。

+0

感谢Mohayemin,但是当我改变。点击脚本仍然不叫。 – dav83 2012-07-28 14:03:57

+1

甚至没有警报?你在'document.ready()'中添加了脚本吗? – Mohayemin 2012-07-28 14:18:44

+0

甚至没有警报!该脚本添加按照上面的.cshtml文件,所以不知道这意味着yes或no - 我以前从来没有使用的JavaScript apols(你可能知道)。我如何在document.ready()中添加一个脚本? – dav83 2012-07-28 14:25:16

相关问题