Я хочу установить максимальное значение (с id и из ajax) в Html.EditorFor () - PullRequest
0 голосов
/ 04 марта 2019

После того, как я выбираю из выпадающего списка, стоимость акций поступает через ajax, и я хочу, чтобы пользователь не мог записать значение суммы больше, чем это значение акции.Я не могу добавить это максимальное значение в html.editorfor

Create.cshtml

         <div class="col-md-10">
                    @Html.EditorFor(model => model.amount, new { htmlAttributes = new { @class = "form-control",min="1", max=$("#stock")} })
                </div>

   <script type="text/javascript">
    $(document).ready(function () {
        $('#depotId').change(function () { sendDataByAjax(); });
    })

    function sendDataByAjax() 
        var materialId= $('#materialId option:selected').val();
        var depotId= $('#depotId option:selected').val();

        if (!materialId || !depoId) {
        }
        $.ajax({
            type: "GET",
            url: "@Url.Action("GetStock", "OutgoingProduct")",
            data: {
                'materialId': materialId,
                'depotId': depotId
            },
            success: function (data) {
                $("#stock").html(data);

            }
        });
    }
    </script>

1 Ответ

0 голосов
/ 04 марта 2019

Это неправильный способ установить значение атрибута элемента <input> с помощью только селектора jQuery, как $("#stock").Я думаю, вы должны сначала определить помощник EditorFor без максимального значения:

@Html.EditorFor(model => model.amount, new { htmlAttributes = new { @class = "form-control", min="1" }})

Затем обработать событие change или onchange из выпадающего списка на стороне клиента, чтобы добавить или установить атрибут max в<input> элемент, сгенерированный EditorFor:

$("#dropdownId").change(function () {
    var value = $(this).val();

    // other stuff

    // if the data comes as single value response, just set it to input element with 'prop()'
    $.get('@Url.Action("TargetActionName", "TargetControllerName")', { id: value }, function (data) {
       // set maximum value here
       $('#amount').prop('max', data); 
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...