删除DropDownListFor中的项目

时间:2013-12-06 13:23:15

标签: c# javascript jquery asp.net-mvc html-select

我有两个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;
    }
}

是否可以在此处执行我的问题的功能? 如果您需要更多代码,请询问。

1 个答案:

答案 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;
        }

});