@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);
});
});
});
得到它,感謝這麼很多 – BigBug 2012-04-13 20:26:01
@BlueMonster,請參閱我的第二個更好的選擇使用不顯眼的JavaScript,這完全避免了你與JavaScript混合的服務器端代碼,並允許你將腳本放在一個單獨的JavaScript文件中。 – 2012-04-13 20:27:50
如何從下拉列表中進行新選擇時更新它?我以爲我可以重新加載窗口避免$ .get,但這是行不通的。 – BigBug 2012-04-13 22:13:45