传递参数

时间:2012-04-13 20:21:38

标签: javascript html asp.net-mvc-3

如何传递所选类型的值?我想从这里传递它:

 @Html.DropDownListFor(model => model.SelectedType, Model.Types, new { @onchange = "getSpecificFields(value in here)",})
问题是,在我做出第一个初始下拉选择后,所有内容都正确加载。但是,如果我改变我的选择,页面不会更新到新选择。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

@Html.DropDownListFor(
    model => model.SelectedType, 
    Model.Types, 
    new { 
        onchange = "getSpecificFields(this.value)"
    }
)

然后:

<script type="text/javascript">
    function getSpecificFields(value) {
        $.get('@Url.Action("CreateSpecific", "Employee")', { type: value },
            function(data) {
                $("#specificFields").replaceWith(data);
            }
        );
    }
</script>

或使用完全不引人注目的javascript:

@Html.DropDownListFor(
    model => model.SelectedType, 
    Model.Types, 
    new { 
        id = "myddl",
        data_url = Url.Action("CreateSpecific", "Employee")
    }
)

然后在一个完全独立的javascript文件中:

$(function() {
    $('#myddl').change(function() {
        var data = { type: $(this).val() };
        var url = $(this).data('url');
        $.get(url, data, function(result) {
                $("#specificFields").replaceWith(result);
        });
    });
});