我有两个DropDownListFor。如果我在第一个DropDownList中选择一个项目,则第二个DropDownListFor必须删除一些项目。 所以要清理:
DropDownListFor 1 - >有项目:'a','b','c'。
DropDownListFor 2 - >有项目:'1','2','3'。
如果在DropDownListFor1项目中选择'a' - > DropDownListFor2仅显示项目“1”和“3”。
这是DropDownListFor 1:
@Html.ExtendedDropDownListFor(m => m.Alert.TriggerType,
Model.TriggersDTO.Select(t => new ExtendedSelectListItem() {
Text = t.Translation,
Value = t.Type.ToString(),
htmlAttributes = new { data_id = t.Id }
}).AsEnumerable(), null, new { id = "trigger-type", name = "trigger-type" })
这是DropDownListFor 2:
@Html.DropDownListFor(m => m.Alert.Condition,
new SelectList(Model.ConditionsDTO, "Type", "Translation"),
new { id = "condition-type", name = "condition-type" })
所有项目均来自数据库。
如果我更改了第一个DropDownListFor,则调用下一个函数:
function doTriggerTypeSelect() {
switch ($('#trigger-type').val()) {
case 'a':
$('#container-a').show();
break;
case 'b':
$('#container-b').show();
break;
case 'c':
$('#container-c').show();
break;
}
}
是否可以在此处执行我的问题的功能? 如果您需要更多代码,请询问。
答案 0 :(得分:0)
$('#trigger-type').change(function(){
var selectedText=$('#trigger-type option:selected').text();
// switch ($('#trigger-type').val()) {
switch (selectedText) {
case 'a':
$('#container-a').show();
break;
case 'b':
$('#container-b').show();
break;
case 'c':
$('#container-c').show();
break;
}
});