我有一个cshtml页面,有一些选项,我想在更改选择时执行其他一些C#代码来获取项目。
var choices= new List<string[]>();
<select name="student" onselect="">
@foreach (var student in students)
{
<option value="@student[0]" onselect="@{
choices = choice.ReturnChoices(@student[0]);
}">@student[2] @student[3] @student[4]</option>
}
</select>
现在,我想调用学生价值变化时返回学生选择的方法,并填充另一个下拉/选择。
但是,目前,在加载时,下拉列表显示所有选项。
答案 0 :(得分:0)
您必须注册onselect(JavaScript)事件,并在此处向控制器发出ajax调用以及将返回选项列表的学生姓名。并且在ajax调用成功时使用jquery / javascript填充第二个下拉列表,您可以在下拉列表填充时显示进度条。
<select name="student" onselect="onStudentSelect()">
function onStudentSelect(){
$.ajax({
url: //Url to your action method along with the student name in query string,
type:get,
dataType: "json",
complete: function() {
//remove progress bar.
},
beforeSend: function() {
//Show progress bar.
},
success: function (data) {
//fill second drop down like:
//$("#secondDropDown").append('<option value="' + anyvalue + '">' + anyText + '</option>');
}
});
}