我想知道是否有任何方法可以通过从DropDownList中选择内容来向EditorFor添加文本。
例如,如果我有这样的事情:
@Html.DropDownList("stackoverflow", "--Select Stack--")
@Html.EditorFor(model => model.Stack, new { htmlAttributes = new { @class = "form-control" } })
我的问题是如何使用从DropDownList中选择的内容替换EditorFor中的文本。如果我使用的是javascript,我该怎么办呢?还是有更好的方法来解决它?
答案 0 :(得分:1)
你可以用jQuery试试这个:
@Html.DropDownList("stackoverflow", Model.StackTypes.Select(stackType => new SelectListItem { Text = stackType, Value = stackType }), "--Select Stack--")
<!-- Just for demo purpose assume, Model.StackTypes above is a List<string>-->
@Html.EditorFor(model => model.Stack, new { htmlAttributes = new { @class = "form-control" } })
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script>
$("#stackoverflow").change(function () {
var selectedOptionId = $(this).val();
$("#Stack").val(selectedOptionId); //Set the selected value to textbox
});
</script>