MVC控件和jQuery函数

时间:2014-03-31 04:35:07

标签: c# jquery asp.net-mvc razor

我有一个视图,可以在ForEach循环中呈现多个歌曲类别下拉列表。

@foreach (var itemCategory in Model)
{
  //Generate unique ids for the category dropdown and assign them.
 @{
      string sCategory = "category" + i;   
 }
 @Html.DropDownListFor(itemCategory.categoryName , itemCategory.songslist, new {@Id=sCategory})
 }

示例:上面的ID将是category0到category4

我正在尝试使用更改事件查找从每个类别下拉列表中选择的单个值。但是下面的脚本不起作用。

JavaScript / jQuery:

  <script type="text/javascript">

$(function () {

        var totalCategories = 5            
        for (i = 0; i < totalCategories ; i++) {

                 $('#category' + i)
                   .change(function () {
                       var str = "";
                       str = $('#category' + i).children('option:selected').val();
                       alert(str);
                   })
                   .change();

        }
});

</script>

当我只有一个下拉列表但是如何使它与动态创建的多个下拉列表一起工作时,这是有效的?

请提供任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

也许不要对选择器如此具体,您可以在不知道其ID的情况下为所有下拉列表分配相同的代码,例如:

$( "select" )
  .change(function () {
    var str = "";
    $(this).find( "option:selected" ).each(function() {
      str += $( this ).text() + " ";
    });
    alert(str);
  }) ;

来自http://api.jquery.com/change/

编辑:

看到这个小提琴:http://jsfiddle.net/NFmS8/1/