0

我在使用 Jquery 和 MVC3 时遇到问题我很确定它与模型绑定有关,我基本上是在尝试使用 jquery 将下拉列表加载到我的页面,现在下面的这个示例可以工作......

  @model way.Models.servicer

  @Html.DropDownListFor(model => model.adtype, new SelectList(
              new List<Object>{  
                    new { Text = " ", Value = " "},
                   new { Text = "Financial", Value = "Financial"}}, "Value", "Text"), new {@class="mylist" }) 


<script>
  $(".mylist").change(function () {
      if ($(this).val() == "Financial") {
          $("#miness").load('/Listings/service .credit');
      }

  });
</script>

然后加载这个下拉列表,模型服务商是

@model way.Models.servicer

 @Html.DropDownListFor(model => model.keyword, new SelectList(
              new List<Object>{  
                    new { Text = "Book-keeping", Value = "Book-keeping"},
                   new { Text = "Credit Repair", Value = "Credit Repair"}}, "Value", "Text"), new {@class="credit" }) 

上面的例子现在可以工作了,我基本上使用下面这个模型的相同步骤,但是这个例子不起作用

    @model way.Models.article_detail

 @Html.DropDownListFor(model => model.profile.groups, new SelectList(
              new List<Object>{  
                  new { Text = " ", Value = " "},
            new { Text = "Computer", Value = "Computer"}}, "Value", "Text"), new {@class="bty"})

       <script>
          $(".bty").change(function () {

           if ($(this).val() == "Computer") {
               $("#miness").load('/Listings/ding .computer');
           }

       });
   </script>

然后假设加载这个下拉列表

    @model way.Models.article_detail

    @Html.DropDownListFor(model => model.profile.role, new SelectList(new List<Object>{ 
                                new { Text = "windows", Value = "windows"},new { Text = "mac", Value = "mac"}}, "Value", "Text"), new { @class = "computer" })

我不明白为什么 1 有效而另一个无效。有 1 个小差异,第二个示例在 1 个视图中有 2 个模型,因此model.profile.role可能不知何故 1 个视图中的 2 个模型正在抛出一些东西,但我正在引用该类,所以我不知道发生了什么建议?

4

1 回答 1

0

如果是,您是否通过 jquery ajax 加载下拉列表,那么您必须将 jquery 事件重新绑定到控件,因为 jquery 绑定仅在 dom 元素在 jquery 之前加载时才有效。

于 2013-09-22T05:48:35.527 回答