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つが機能しないのかわかりません。2番目の例には1つのビューに2つのモデルがあるため、model.profile.roleに1つの小さな違いがあります.1つのビューに2つのモデルがある可能性がありますが、クラスを参照しているため、何が起こっているのかわかりません提案?

4

1 に答える 1

0

jquery ajax を介してドロップダウンをロードしていますか? はいの場合、jquery イベントをコントロールに再バインドする必要があります。jquery バインディングは、dom 要素が jquery の前にロードされた場合にのみ機能するためです。

于 2013-09-22T05:48:35.527 に答える