1

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

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

问题是,在我进行第一次初始下拉选择后,一切都正常加载。但是,如果我去更改我的选择,页面不会更新到新的选择。我将如何解决这个问题?

4

1 回答 1

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);
        });
    });
});
于 2012-04-13T20:23:51.577 回答