4

MVC3では、ドロップダウンリストは次のように定義されています。

@Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"))

選択した値やテキストをJavaScriptで取得するにはどうすればよいですか?

名前を渡してみました:

  @Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"), new {name="name")

javascriptから名前を読み取ります:document.getElementByName( "name")

しかし、それは機能しません。

4

1 に答える 1

4

jQuery を使用している場合 (MVC プロジェクトでは可能性が高い):

// lambda to get the ID of your dropdown. This runs on the server,
// and injects the ID into a client-side variable.
var id = '@Html.IdFor( o => o.model )';

// get the dropdown by ID and wrap in a jQuery object for easy manipulation
var dropdown = $("#" + id);

// get the value
var value = dropdown.val();

もちろん、必要に応じてこれを 1 行に結合することもできます。

jQuery を使用していない場合は、https: //stackoverflow.com/a/1085810/453277 を参照してください。

var id = '@Html.IdFor( o => o.model )';
var dropdown = document.getElementById( id );
var value = dropdown.options[dropdown.selectedIndex].value;

マニュアル ID:

@Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"), new {id = "ddl1"})

var value = $("#ddl1").val();
于 2012-12-12T14:56:26.170 に答える