Функция вызова JQuery не работает в asp.net mvc - PullRequest
1 голос
/ 28 сентября 2019

Я новичок в jQuery, здесь, когда я щелкаю раскрывающийся список кода отдела, имя отдела появляется внутри поля ввода, а также я использовал для этого функцию jQuery.проблема в том, что название отдела не пришло, пока нажми на выпадающий список.Я не смог бы обнаружить свою ошибку в своем коде jQuery, если кто-нибудь узнает, что это будет наиболее полезно для меня.Ниже я увидел только необходимый код

1.Create.cshtml

<tr class="spaceUnder">
                        <td>
                            <label for="departmentId">DepartmentCode</label>
                        </td>
                        <td>
                            <select name="departmentId" id="departmentId">
                                <option value="">Select...</option>
                                @foreach (var department in ViewBag.Departments)
                                {
                                    <option value="@department.ID">@department.Code</option>
                                }
                            </select>
                        </td>
                    </tr>

                    <tr class="spaceUnder">
                        <td><label for="DepartmentName">DepName</label></td>
                        <td>
                            <input type="text" readonly="readonly" name="DepartmentName" id="DepartmentName" data-val="true">
                        </td>
                    </tr>




     <script>
$(document).ready(function()
{                         
    $('#departmentId').change(function ()
{
    var DepId = $('#departmentId').val();                           
    var json = { DepartmentId: DepId };
    $.ajax(
{
    type: "POST",                                
    url: "/TeacherCourseAssign/GetDepartmentByDepartmentId",
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(json),
    success: function
    (data) {                   
    $('#DepartmentName').val(data.Name);                            
    }
                             }
                             );
                         }
                         );
                     }
                     ); 
</script>

2.SubjectController.cs

 public ActionResult Index()
        {
            var subjects = db.Subjects.Include(s => s.Department);
            return View(subjects.ToList());
        }

3.TeacherCourseAssignController.cs

public JsonResult GetDepartmentByDepartmentId(int departmentId)
        {
            List<Department> departments = aDepartmentManager.GetAllDepartments();
            var department = departments.Find(a => a.ID == departmentId);
            return Json(department);
        }           

4.DepartmentManager.cs

public List<Models.Department> GetAllDepartments()
        {
            return aDepartmentGateway.GetAllDepartment();
        }

5.DepartmentGateway.cs

 public List<Department> GetAllDepartment()
        {
            SqlConnection connection = new SqlConnection(connectionString);
            string Query = "SELECT * FROM Departments ";
            SqlCommand command = new SqlCommand(Query, connection);
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            List<Department> departments=new List<Department>();
            while (reader.Read())
            {
                Department department = new Department()
                {
                    ID=(int)reader["ID"],
                    Name = reader["Name"].ToString(),
                    Code=reader["Code"].ToString()
                };
                departments.Add(department);
            }
            reader.Close();
            connection.Close();

            return departments;
        }

6.Subject.cs (модель)

public class Subject
    {
        public int SubjectID { get; set; }

        [DisplayName("Department")]
        public int? DepartmentId { get; set; }
        [ForeignKey("DepartmentId")]
        public virtual Department Department { get; set; }

        [DisplayName("DepName")]
        public string DepartmentName { get; set; }

    }

1 Ответ

0 голосов
/ 29 сентября 2019

Я думаю, вы допустили несколько ошибок при написании кода JQuery. Попробуйте, это может сработать для вас.

@section scripts
{
 <script>
    $(document).ready(function()
{                         
    $("#departmentId").change(function ()
{
    var DepId = $("#departmentId").val();                           
    var json = { DepartmentId: DepId };
    $.ajax(
{
    type: "POST",                                
    url: '/TeacherCourseAssign/GetDepartmentByDepartmentId',
    contentType: "application/json; charset=utf-8",
    data: JSON.stringify(json),
    success: function
    (data) {                   
    $("#DepartmentName").val(data.Name);                            
    }
                             }
                             );
                         }
                         );
                     }
                     );                                                                         
 </script>
}

затем После попытки отладки JavaScript в вашем браузере, здесь вы хотите поместитьточки останова в соответствующем месте и найдите свое решение. (Подробнее Отладка JavaScript в chrome. LinkHere )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...