Как вы заполняете список значений на основе выбора пользователя - PullRequest
0 голосов
/ 30 апреля 2019

Как вы заполняете список значений на основе выбора пользователя? Я получаю правильные данные из моего контроллера в моем представлении, выполняя это:

@{
    var cmrData = ((ShipmentController)this.ViewContext.Controller).GetNoCmrs(new List<int>() { 1 });
    var invoiceData = ((ShipmentController)this.ViewContext.Controller).GetReadyForInvoice(new List<int>() { 1 });
    var filterData = ((ShipmentController)this.ViewContext.Controller).GetNoCmrs(new List<int>() { 1 });
}

filterData - это то, что я хочу зациклить и вывести значения. Другие - это фильтры, которые я хочу использовать для заполнения переменной filterData.

Я сейчас заполняю список следующим образом:

<table class="table table-hover" id="shipmentOverview">
    <tr>
        <th>Id</th>
        <th>StartDateTime</th>
        <th>EndDateTime</th>
    </tr>
    @foreach (var shipment in filterData)
    {
        <tr>
            <td>@shipment.ShipmentId</td>
            <td>@shipment.StartDateTime</td>
            <td>@shipment.EndDateTime</td>
        </tr>
    }
</table>

Однако я хочу изменить filterData (на данные cmr или данные счета-фактуры) на основе выбранной опции в раскрывающемся списке. Это раскрывающийся список:

<div id="shipmentDetailFilter">
            Shipment Details Filter Options:
            <select class="form-control" onchange="loadShipmentsByCondition()" id="conditionSelect">
                <option disabled value="" selected="selected">Please select a filter</option>
                <option>Ready to be invoiced</option>
                <option>CMR not received</option>
            </select>
        </div>

Теперь у меня есть функция в Javascript, которая проверяет значение выбранной опции:

<script>
    var x;
    function loadShipmentsByCondition() {
        x = document.getElementById("conditionSelect").value;
        if (x === "CMR not received") {
            console.log("CMR");
        } else if(x === "Ready to be invoiced") {
            console.log("INVOICE");
        }
    }
</script>

Как изменить значение filterData в этой функции? Или как мне правильно добиться того, чего я хочу? Я новичок в этом, и, насколько я знаю, вы не можете изменить бритвенную переменную внутри функции Javascript в любом случае ..

Я застрял, кто может мне помочь?

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