I work on asp.net core razor page model .I face issue i can't store result of select option ajax request that fill order type
to fill it after serach reset submit done
because after search button click order type select option reset
so i need to fill select option again of data that have before submit or before reset
so I get data list fill select option order type success on function RelatedOrderType with
reprintModel.OrderTypes = orderTypes;
How to get result or store result of reprintModel.OrderTypes = orderTypes; on funcion OnPost after search submit done
meaning how to get result of ajax request onPost function after search submit finish
$('#orderType-select').prepend('<option value="0" selected>-- Select Order Type --</option>');
my code details as below
<form id="FrmReprintAdcSupport" method="post" onsubmit="return validateForm() "> <div class="card" style="margin-top:-50px;"> <div class="card-body"> <div class="row"> <div class="col-lg-12 col-12 row"> <div class="col-md-2 col-lg-1"> <input type="hidden" name="Reset" value="XX" /> <label for="userty-select" class="form-control-label" style="color:#525f7f;font-size:15px;font-family: 'Open Sans', sans-serif;">OrderType</label> <select id="orderType-select" name="selectedordertype" asp-for="reprintModel.SelectedOrderType" name="ordertypeid" class="form-select" style="color:#000 !important;font-size:15px;font-family: 'Open Sans' , sans-serif;" onchange="updateHiddenFields()"> <option value="0">--Select--</option> @foreach (var ordertype in Model.reprintModel.OrderTypes) { <option value="@ordertype.OrderTypes">@ordertype.OrderTypes</option> } </select> </div> <input type="hidden" id="hiddenselectedOrderType" name="hiddenselectedOrderType" value="@Model.hiddenselectedOrderType" /> </div> </div> </form> $('#totimeselect').change(function (event) { //event.preventDefault(); var DateLogged = $("#statusDateId").val(); var branchId = $("#branch-select").val(); var FromTime = $("#txtFromTime").val(); var ToTime = $("#totimeselect").val(); console.log(branchId); if (DateLogged) { console.log(DateLogged); $.ajax({ url: '?handler=RelatedOrderType', type: "GET", dataType: "json", data: { branchId: branchId, DateLogged: DateLogged, FromTime: FromTime, ToTime: ToTime }, success: function (data) { //console.log(data); $('#orderType-select').empty(); $.each(data, function (i, item) { console.log(item); $('#orderType-select').append($('<option>', { value: item.orderTypes, text: item.orderTypes })); }); // Add a default option $('#orderType-select').prepend('<option value="0" selected>-- Select Order Type --</option>'); } }); } });
public JsonResult OnGetRelatedOrderType(string branchId, string DateLogged,string FromTime,string ToTime) { string eventDatefromtime = Convert.ToDateTime(FromTime).ToString("HH:mm"); string eventDatetotime = Convert.ToDateTime(FromTime).AddMinutes(Convert.ToInt16(ToTime)).ToString("HH:mm"); DataTable dtordertype = _IAdcSupportService.GetOrderTypes(branchId, DateLogged, eventDatefromtime, eventDatetotime); List<OrderTypePrinterServer> orderTypes = dtordertype.AsEnumerable() .Select(row => new OrderTypePrinterServer { // Map the values from the DataRow to the properties of the PrintServer object OrderTypes = row["Doc_type"].ToString() }) .ToList(); reprintModel.OrderTypes = orderTypes; return new JsonResult(orderTypes); }
Now I click on search button to display data so OnPost Function will fire
public async Task OnPost(IFormCollection formcollection) { //after search data and data display select option order type will reset so I will fill again reprintModel.OrderTypes = orderTypes; }