my razor pages I'm trying to capture the value in dropdown with javascript
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#ddlEnum").change(function() {
var display = document.getElementById("ddlEnum");
});
});
</script>
I want to send the value on this side with the button. first, I return with foreach. I see the incoming enum values, but I can't select them.
@foreach (var item in Model)
{
if (item.Priotrity == PriotrityEnums.Do)
{
<table class="table table-danger">
<thead>
<tr>
<th>Task Adı</th>
<th>Task Önceliği</th>
<th>Task Durumu</th>
<th>Durum Opsiyonları</th>
</tr>
</thead>
<tbody>
<tr>
<td>@item.Title</td>
<td>@EnumExtensions.GetDisplayName(PriotrityEnums.Do)</td>
@if (@item.Status == StatusEnums.Wait)
{
<td>@EnumExtensions.GetDisplayName(StatusEnums.Wait)</td>
}
else if (@item.Status == StatusEnums.Continuing)
{
<td>@EnumExtensions.GetDisplayName(StatusEnums.Continuing)</td>
}
else if (@item.Status == StatusEnums.Completed)
{
<td>@EnumExtensions.GetDisplayName(StatusEnums.Completed)</td>
}
<td style="width:180px">
<form method="post" asp-action="ChangeStatus">
<select id="ddlEnum" class="form-control" asp-items="Html.GetEnumSelectList<StatusEnums>()"> </select>
<input type="submit" value="Kaydet" >
</form>
</td>
</tr>
</tbody>
</table>
}
Here I need to meet the incoming value. It captures the value as a javascripty object, but when I send it on the IActionResult side, it returns 0. Controller:
public IActionResult ChangeStatus(int enumValue)
{
//if (enumValue.Equals StatusEnums.Completed)
//{
//}
return View();
When passing the selected value, it is necessary to add the name attribute to ensure that it is consistent with the name of the parameter received by the controller.
Below is my test code, it works fine.
Cshtml:
<form method="post" asp-controller="Home" asp-action="ChangeStatus">
<select id="ddlEnum" name="enumValue" class="form-control" asp-items="Html.GetEnumSelectList<StatusEnums>()"></select>
<input type="submit" value="Kaydet" />
</form>
Controller:
public IActionResult ChangeStatus(int enumValue)
{
return View();
}
Test Result: