我正在启动 MVC,但这就是我想要的。
我在一侧有一个项目列表,在另一侧有一个文本框。我想单击列表中的一个项目并让文本框显示该项目的文本,但不使用按钮或帖子;类似于“ OnSelectedIndexChanged
”的东西。
这就是我到目前为止所拥有的。
控制器:
public ActionResult Index()
{
var model = new TestModel();
model.ListOfItems = new List<SelectListItem>();
SelectListItem item = new SelectListItem();
item.Text = "Item's text";
item.Value = "Value for the list";
model.ListOfItems.Add(item);
return View(model);
}
模型:
public int[] ItemId { get; set; }
public List<SelectListItem> ListOfItems { get; set; }
看法:
<script type="text/javascript">
function showText() {
var selectedItem = itemsList.options.selectedIndex;
txtValue.Text = selectedItem.value;
}
</script>
<h2>Test</h2>
@Html.ListBoxFor(x => x.ItemId, new MultiSelectList(Model.ListOfItems, "Text", "Value", Model.ItemId), new { size = 6, id = "itemsList", OnChange = "showText" })
@Html.TextBox("itemText", "", new { id = "txtItem" })