Как проверить число, выбранное пользователем из выпадающего списка, если оно больше Qty, отобразить предупреждение - PullRequest
0 голосов
/ 03 июля 2018

У меня есть поле ввода, в котором я показываю наличие товара. У меня также есть выпадающий список, где пользователь может выбрать, сколько продуктов он хочет. Оба значения сохраняются в базе данных, когда пользователь нажимает кнопку отправки.

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

Пример:
Доступность товара 50
Выбранное значение из выпадающего списка составляет 53

Alert («Вы можете выбрать между 1-50»).
Может кто-нибудь помочь мне или указать мне правильное направление?
Заранее спасибо.

Вид:

    @using Namespace.Models
    @model RMAHistory

    //Quantity
    <div class="col-md-3">
    <div class="form-group">
    <label>Quantity </label>
    <input name="Antal" id="Antal" class="form-control border-input disabled" value="@string.Format("{0:N0}", Model.InvoiceDetailsSingelLine.Quantity)">
      </div>
    </div>

    //DropDown
    <div class="col-md-12">
     <div class="form-group">
     <label>Number of returning</label>
    @Html.DropDownListFor(model => model.SelectedRMAAntal, Enumerable.Range(0, 11).Select(x => new SelectListItem { Text = x.ToString() }), "- Select - ", new { @class = "form-control border-input" })
    </div>
     </div>

<button id="btn" type="submit"  class="btn">Send</button>

Контроллер и RMAHistory ViewModel:

public class RMAHistory
{
    public List<SelectListItem> RMAAntal { set; get; }
    public int? SelectedRMAAntal { set; get; }

    public string AntalRMA { get; set; }
    public string Antal { get; set; }

}


public JsonResult ProcessRequestRMA(RMAHistory model,string SelectedRMAAntal){
    var RMA = new RMA_History
    {

        Antal = model.Antal,
        AntalRMA = SelectedRMAAntal
    };

    db.RMA_History.Add(RMA);
    db.SaveChanges();
    return Json(model, JsonRequestBehavior.AllowGet);
}

JavaScript:

<script>
    $(document).ready(function () {

        $("#btn").click(function (e) {
            e.preventDefault();
            return myfunction();
        });

        function myfunction() {
            var model = {
                Antal: $("#Antal").val(),
                SelectedRMAAntal: $("#SelectedRMAAntal").val()
            }

            $.ajax({
                type: 'POST',
                url: "/Account/ProcessRequestRMA",
                dataType: 'json',
                data: {       
                    Antal: model.Antal,
                    SelectedRMAAntal : model.SelectedRMAAntal

                },

                success: function (status) {
                    if (status) {
                        status.Antal = model.Antal;
                        status.AntalRMA = model.SelectedRMAAntal;
                        console.log("Send");
                    }
                    else {
                        alert("Something Wrong");
                    }
                },
                error: function () {
                    console.log('something went wrong - debug it!');
                }
            });
        }
    });
</script>

1 Ответ

0 голосов
/ 03 июля 2018

Просто настройте свой диапазон так, чтобы максимальное количество было доступно для вашей модели

@Html.DropDownListFor(model => model.SelectedRMAAntal, Enumerable.Range(0, Model.InvoiceDetailsSingelLine.Quantity).Select(x => new SelectListItem { Text = x.ToString() }), "- Select - ", new { @class = "form-control border-input" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...