2012-03-25 83 views
0

我有一个包含JavaScript和Ajax的局部视图,但是当我按下创建按钮部分视图中的Java Script和Ajax?

我的局部视图(“_Campus”),AVA脚本代码,我把在局部视图,而不是在不运行JavaScript代码父视图:

@model RolesMVC3.Areas.Superusuario.Models.CampusViewModel 
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
      <script type="text/javascript"> 
       $(document).ready(function() { 
        $("#University").change(function() { 
         var idDept = $(this).val(); 
         $.getJSON("Office/GetCityList", { id: idDept }, 
       function (myData) { 
        var select = $("#city"); 
        select.empty(); 
        select.append($('<option/>', { 
         value: 0, 
         text: "-- select city --" 
        })); 
        $.each(myData, function (index, itemData) { 
         select.append($('<option/>', { 
          value: itemData.Value, 
          text: itemData.Text 
         })); 
        }); 
       }); 
        }); 
       }); 
</script> 

    @using (Html.BeginForm()) 
    { 
     @Html.DropDownListFor(model => model.IdUniversity, 
        new SelectList(ViewBag.IdUniversity as System.Collections.IEnumerable, "IdUniversity", "Name"), 
     "-- select university --", new { id = "University" }) 

     @Html.DropDownListFor(model => model.City, 
     new SelectList(Enumerable.Empty<SelectListItem>(), "IdCity", "NameCity"), "-- select city --", 
     new { id = "city" }) 
    } 

父视图:

@model RolesMVC3.Models.OFFICE 

@{ 
    ViewBag.Title = "Create"; 
} 

<h2>OFFICE</h2> 

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 


@using (Html.BeginForm()) { 
    @Html.ValidationSummary(true) 
    <fieldset> 
     <legend>OFFICE</legend> 

     <fieldset> 
     @Html.Partial("_Campus") 
     </fieldset> 


     <div class="editor-label"> 
      @Html.LabelFor(model => model.AddressOffice) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.AddressOffice) 
      @Html.ValidationMessageFor(model => model.AddressOffice) 
     </div> 



     <p> 
      <input type="submit" value="Create" /> 
     </p> 
    </fieldset> 
} 

<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

我怎么做才能运行JavaScript代码?

+1

我没有看到您的接线,单击事件。 – RPM1984 2012-03-25 20:20:39

回答

0

检查JSON是回来的格式,你期待

$.each(myData, function (index, itemData) { 
         select.append($('<option/>', { 
          value: itemData.Value, 
          text: itemData.Text 
         })); 

试试这个,而不是也许

$.each(myData, function (index, itemData) { 
         select.append($('<option/>', { 
          value: index, 
          text: itemData 
         }));