如何在 ASP.NET Core 6 MVC 中的 <select> 下拉列表中选择后调用操作方法?
How to call an action method upon selection from the <select> dropdwon in ASP.NET Core 6 MVC?
我使用 <select>
HTML 元素创建了一个下拉菜单。现在我想在用户从列表中进行选择后调用一个操作。
<select name="ddAircraft" id="ddAircraft" class="form-control form-select-sm form-select"
asp-items="@(new SelectList(ViewBag.ddaircraft,"id","name"))">
</select>
我也想知道用户是否在输入框中输入了一个值。然后我想运行一个Javascript方法。我该怎么做?
我试过 onClick
但我遇到了常见的错误。
如果您能显示错误的详细信息,将会有所帮助,
我试过以下代码:
@{
var sel = new List<SelectListItem>()
{
new SelectListItem(){Text="1",Value="1" },
new SelectListItem(){Text="2",Value="2" },
new SelectListItem(){Text="3",Value="3" }
};
}
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script>
$(function () {
$('#selectlist').change(function () {
window.location.href = "Privacy";
})
});
</script>
<script>
$(function () {
$('#input').change(function () {
window.location.href = "Privacy";
})
});
</script>
<input id="input" value=""></input>
<select id="selectlist" asp-items=sel></select>
结果:
要传递所选项目的值,您可以尝试:
<script>
$(function () {
$('#selectlist').change(function () {
window.location.href = "Home/Privacy?sel=" + $(this).val();
})
});
</script>
结果:
如果你想发出 post 请求,你可以尝试使用 ajax 如下:
<script>
$(function () {
$('#selectlist').change(function () {
var sel = $(this).val();
var input = document.getElementById("input").value;
$.ajax({
url: "Home/Test",
contentType: "application / json; charset = utf - 8",
type: "post",
data: JSON.stringify({
sel: sel,
input: input
}),
datatype: "json",
success: function (data) {
console.log(data);
}
})
})
});
</script>
结果:
我使用 <select>
HTML 元素创建了一个下拉菜单。现在我想在用户从列表中进行选择后调用一个操作。
<select name="ddAircraft" id="ddAircraft" class="form-control form-select-sm form-select"
asp-items="@(new SelectList(ViewBag.ddaircraft,"id","name"))">
</select>
我也想知道用户是否在输入框中输入了一个值。然后我想运行一个Javascript方法。我该怎么做?
我试过 onClick
但我遇到了常见的错误。
如果您能显示错误的详细信息,将会有所帮助,
我试过以下代码:
@{
var sel = new List<SelectListItem>()
{
new SelectListItem(){Text="1",Value="1" },
new SelectListItem(){Text="2",Value="2" },
new SelectListItem(){Text="3",Value="3" }
};
}
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script>
$(function () {
$('#selectlist').change(function () {
window.location.href = "Privacy";
})
});
</script>
<script>
$(function () {
$('#input').change(function () {
window.location.href = "Privacy";
})
});
</script>
<input id="input" value=""></input>
<select id="selectlist" asp-items=sel></select>
结果:
要传递所选项目的值,您可以尝试:
<script>
$(function () {
$('#selectlist').change(function () {
window.location.href = "Home/Privacy?sel=" + $(this).val();
})
});
</script>
结果:
如果你想发出 post 请求,你可以尝试使用 ajax 如下:
<script>
$(function () {
$('#selectlist').change(function () {
var sel = $(this).val();
var input = document.getElementById("input").value;
$.ajax({
url: "Home/Test",
contentType: "application / json; charset = utf - 8",
type: "post",
data: JSON.stringify({
sel: sel,
input: input
}),
datatype: "json",
success: function (data) {
console.log(data);
}
})
})
});
</script>
结果: