部分视图中的Java Script和Ajax

Java Script and Ajax in partial views?

本文关键字:Script Ajax Java 视图      更新时间:2023-09-26

我有一个包含JavaScript和Ajax的部分视图,但当我按下创建按钮时不运行JavaScript代码

我的部分视图("_Campus"),我放在部分视图而不是父视图中的ava脚本代码:

@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代码?

检查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 
                        }));