2011-04-19 3 views
0

뷰에서 드롭 다운 목록에 내 선택 목록을 바인딩 할 때 내가 선택한 값을 얻을 수있는 곳을 볼 수 있습니다 (하지만 내 경우에는 숫자 임). 선택 목록에서 설명/텍스트를 가져올 수있는 방법이 있습니까?selectlist 텍스트 받기

$(function() { 
    $('select').change(function() { 
     alert($('select option:selected').text());  
    }); 

}); 

<select> 
    <option value="0">Zero</option> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

근무 jsfiddle :

+0

질문을 명확히 할 수 있습니까? –

답변

0

여기에 한 가지 방법입니다 http://jsfiddle.net/wherC/

당신이 페이지에 여러 선택 요소가있는 경우 그에 따라 선택을 변경해야합니다.

0

선택한 option의 값이 선택 목록의 양식 키로 전송됩니다.

<select name="list1"> 
    <option selected value="1">one</option> 
</select> 

당신이 선택 목록의 값에 대한 설명을 결합, 설명이 필요한 경우 핵심 list1=1

를 생성합니다.

<select name="list1"> 
    <option selected value="one">one</option> 
</select> 

당신이 SelectListItem을 사용하는 경우 키 list1=one

생산이 옵션은 다음과 같습니다 나는 당신의 질문 만 이해한다면

new SelectListItem { 
    Text = "one", 
    Value = "one" 
} 
0

확실하지 :

는 우리의 컬렉션 가정을 우리 드롭 다운 목록을 채우기 위해 사용하려는 경우 :

public class Animal 
{ 
    public int ID { get; set; } 
    public string Name { get; set; } 
} 

그런 다음 목록은 ID 위의 예제를 들어

@Html.DropDownListFor(model => model.AnimalId, new SelectList(AnimalList, "ID", "Name")) 

것 채우지 수는 "값"이고 이름은 선택할 수있는 옵션으로 표시됩니다. 만약 당신이 다른 방법을 원한다면 - 바로 클래스 속성/필드

는 ID와 이름을 모두 내가

와 함께 갈 것

<option value="1">1 - Horse</option> 

을 생산하는 드롭 다운 목록에 표시 할 경우

의 이름을 대체
@Html.EditorFor(model => model.id, "PickAnimalTemplate", new { animals = ViewBag.Animals}) 
당신은 예를 들어, 레이아웃을 원하는대로 당신은 꽤 많이 할 수있는이 속성에 대한 사용자 정의 EditorTemplate을 정의하는

:

@foreach (var item in animals) 
{ 
    <option value="@item.ID">@item.ID - @item.Name</option> 
} 
관련 문제