Привязка выпадающего выбранного значения к метке в MVC2 - PullRequest
0 голосов
/ 17 ноября 2010

Я новичок в VS 2010 и MVC2.Здесь я заполнил выпадающий список из базы данных.Мой исходный код HomeControler будет `namespace SampleControls.Controllers {

public class HomeController : Controller
{
    SControlsDataContext data = new SControlsDataContext();

    public ActionResult Index()
     {
         var Emp = from prod in data.Emps
                   select prod;
         ViewData["Emps"] = Emp;
         return View();
     }      

    public ActionResult About()
    {
        return View();
    }

}

}`

, а мой Index.aspx будет

<% using (Html.BeginForm()) { %> <%= Html.DropDownList("lstProducts", new SelectList((IEnumerable)ViewData["Emps"], "Id", "Name"), new { onChange = "onSelectedIndexChanged()" })%> <% } %>

то, что я хочу "на SelectedIndexChanged, выбранное значение должно отображаться в метке.

 <script type="text/javascript">
    function onSelectedIndexChanged() 
      {
       //i know i should write the code here for binding the dropdown selected value to label... But, i dont know how to do this.
      }
</script> 

1 Ответ

2 голосов
/ 17 ноября 2010
<% using (Html.BeginForm()) { %> 
    <%= Html.DropDownList("lstProducts", 
        new SelectList((IEnumerable)ViewData["Emps"], "Id", "Name"), 
        new { onchange = "onSelectedIndexChanged(this.value)" })%> 
<% } %>

<div id="foo"></div>

и затем:

function onSelectedIndexChanged(value) {
    document.getElementById('foo').innerHTML = value;
}

UPDATE:

Чтобы получить выделенный текст:

<% using (Html.BeginForm()) { %> 
    <%= Html.DropDownList("lstProducts", 
        new SelectList((IEnumerable)ViewData["Emps"], "Id", "Name"), 
        new { onchange = "onSelectedIndexChanged(this)" })%> 
<% } %>

function onSelectedIndexChanged(select) {
    var text = select.options[select.selectedIndex].text;
    document.getElementById('foo').innerHTML = text;
}

ОБНОВЛЕНИЕ 2:

Того же можно добиться с помощью jquery:

<% using (Html.BeginForm()) { %> 
    <%= Html.DropDownList("lstProducts", 
        new SelectList((IEnumerable)ViewData["Emps"], "Id", "Name"), 
        new { id="myselect" })%> 
<% } %>

, а затем:

$(function() {
    $('#myselect').change(function() {
        var text = $(this).find('option:selected').text();
        $('#foo').html(text);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...