'Ajax.BeginForm model binding fails with SelectElement,Onchange

I'm experiencing an odd issue . I got both a text input search field, and a dropdown list. I've set that with every change on the select menu it will submit said form with the values . It does bind the values but it bypasses the OnSuccess function and then basically things fall apart

Relevant Code:

  @Html.EnumDropDownListFor(x => x.AreaCodes, "בחר אזור", new
       {
           @class = "select_field w-select",
           onchange = "this.form.submit()"
       })



ReloadLocations = () => {

        $.ajax({
            url:`@Url.Action("LocationsList","Locations")`,
            method: 'POST',
            dataType: 'html',
            contentType: 'charset=utf-8',
            success: function (data) {
                $("#LocationList").empty();
                $("#LocationList").append(data);



            },

In this version it submits the form, However it goes straight to the function without actually going into the "success" part of the ajax call, Just returns a view. which results in me getting a partial view back. How can I fix this?

Edit: Full Controller Methode:

    {
 public ActionResult LocationsList(SearchLocationVM searchVm)
        var locationsVM = new List<LocationVM>();
        var locations = new List<Locations>();
              var searchTerm = searchVm.SearchTerm;
                var searchArea = (int)searchVm.AreaCodes;
        using (var unitOfWork = new UnitOfWork(new FriendsEntities()))
        {
            if (searchVm.AreaCodes == 0 && string.IsNullOrWhiteSpace(searchVm.SearchTerm))
            {
                locations = unitOfWork.Locations.Find(x => x.Visibility).OrderBy(x => x.Order).ToList();
                locationsVM = locations.Select(x => new LocationVM()
                {


                    ActivityHours = x.location_open_time ?? string.Empty,
                    ContactName = x.location_contact_name ?? string.Empty,
                    FirstPHone = x.first_phone_number ?? string.Empty,
                    SecondPHone = x.second_phone_number ?? string.Empty,
                    IsRefrigirated = x.location_refrigerated_medication,
                    LocationAdress = x.location_address ?? string.Empty,
                    LocationAreaName = x.location_general_area ?? string.Empty,
                    WhatsappNumber = x.location_whatsapp ?? string.Empty,
                    Logo = x.location_logo ?? string.Empty,
                    Id = x.Id,

                }).ToList().ToList();
            }
            else

            {

                if (!string.IsNullOrWhiteSpace(searchTerm) && searchArea == 0)
                {
                    locations = unitOfWork.Locations.Find(x => x.Visibility
                                                               || x.location_name.Contains(searchTerm)
                                                               || x.location_address.Contains(searchTerm)
                                                               || x.location_general_area.Contains(searchTerm))
                                                                .OrderBy(x => x.Order)
                                                               .ToList();
                }
                if (string.IsNullOrWhiteSpace(searchTerm) && searchArea != 0)
                {
                    locations = unitOfWork.Locations.Find(x => x.Visibility && x.location_area == searchArea).OrderBy(x => x.Order).ToList();
                }
                if (!string.IsNullOrWhiteSpace(searchTerm) && searchArea != 0)
                {
                    locations = unitOfWork.Locations.Find(x => x.Visibility && x.location_area == searchArea
                                                                 || x.location_name.Contains(searchTerm)
                                                                 || x.location_address.Contains(searchTerm)
                                                                 || x.location_general_area.Contains(searchTerm))
                                                                .OrderBy(x => x.Order)
                                                               .ToList();
                }

                locationsVM = locations
                    .Select(x => new LocationVM()
                    {
                        ActivityHours = x.location_open_time ?? string.Empty,
                        ContactName = x.location_contact_name ?? string.Empty,
                        FirstPHone = x.first_phone_number ?? string.Empty,
                        SecondPHone = x.second_phone_number ?? string.Empty,
                        IsRefrigirated = x.location_refrigerated_medication,
                        LocationAdress = x.location_address ?? string.Empty,
                        LocationAreaName = x.location_general_area ?? string.Empty,
                        WhatsappNumber = x.location_whatsapp ?? string.Empty,
                        Logo = x.location_logo ?? string.Empty,
                        Id = x.Id,

                    }).ToList()
                    .ToList();
            }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source