Как получить значение Dropdown для определенного поля с помощью ajax (mvc) - PullRequest
0 голосов
/ 12 сентября 2018

извините за плохой заголовок. Я не могу выразить правильную тему своей проблемы, так как я новичок в MVC и у ajax есть проблема

В связи с этим я подготовил выпадающий список, в котором перечислены все ботинкиname (Таблица обуви), теперь клиент должен выбрать его, но при повороте он должен отобразить Shoesprice (Таблица обуви) после выбора имени обуви.код представления приведен ниже

Просмотр:

@Html.DropDownListFor(x => x.shoename, new SelectList(Model.ShoesModel,"shoename","shoename"), "Select Shoes Name", new {id="myDrop",@class="form-control" })

У меня есть скрипт, когда вы выбираете его, этот конкретный синтаксис работает Скрипт:

    $("#myDrop").change(function ()
        {
            var value = $(this).val();
            console.log(value);
   $.ajax({
            type: 'POST',
            url: '/Customers/GetShoesPrice',
            dataType: 'json',
            data: { shoesName: $(this).val() },
            success: function (data) {

             //how can I declare a value to get the and return the price
                }
                });
        }

Но я не знаю, как создать синтаксис ajax (получить цену в соответствии с именем обуви) и установить контроллер

спасибо за помощь

1 Ответ

0 голосов
/ 12 сентября 2018

Поскольку вы хотите вернуть только одно значение, просто используйте data в AJAX success результат, чтобы отобразить возвращаемое значение цены:

Контроллер

[HttpPost]
public JsonResult GetShoesPrice(string shoesName) 
{ 
    var customerViewPrice = (from c in _SBC.Shoeses // Change the condition here 
    where c.shoename.Contains(shoesName) 
    select c.ShoesUnitPrice).FirstOrDefault(); // or SingleOrDefault() for one and only returned value

    return Json(customerViewPrice); 
}

Просмотр (jQuery)

$("#myDrop").change(function () {
    var value = $(this).val();
    console.log(value);
    $.ajax({
       type: 'POST',
       url: '/Customers/GetShoesPrice',
       dataType: 'json',
       data: { shoesName: value },
       success: function (data) {
           // set input element value which will be posted on form submit with DropDownListFor
           $('#price').val(data); 
       }
   });
}

Обратите внимание, что если вы хотите отобразить список ShoesUnitPrice из выбранных shoesName, вам нужно использовать цикл $.each() для итерации возвращаемого массива значения цены.

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