1

私は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" })
4

1 に答える 1

2

リストボックスのクリックイベントをリッスンし、アイテムテキストを取得して他のテキストボックスの値として設定するjavascriptを用意します

$(function(){

  $("#ItemId option").click(function () {
    var _this = $(this);
    $("#txtItem").val($(_this).text());
  });

});

作業サンプル: http://jsfiddle.net/w4sxw/

ページにjQueryがロードされていると仮定します。

于 2013-01-23T21:30:36.513 に答える