Как вы заполняете список значений на основе выбора пользователя? Я получаю правильные данные из моего контроллера в моем представлении, выполняя это:
@{
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 в любом случае ..
Я застрял, кто может мне помочь?