2016-12-25 1 views
0

私は同じページのテーブルをフィルタリングする複数のドロップダウンをしたいと思います。ページに移動すると、最初のドロップダウンを選択するとテーブルが表示され、データが絞り込まれ、2番目のドロップダウンが更新されます。ここで MVC複数のカスケードドロップダウンフィルタリングテーブルをajaxを使用して

は私がカスケードドロップダウンが働いたり、私が更新するテーブルを取得することができます得ることができます MVC Sort headers and Dropdown Ajax update

に取り組んでいる例ですが、私は両方を取得することはできません。

ページがリロードされないように、私はajaxを使用しようとしています。

ガイダンスや例があれば大丈夫です!

答えて

0

私はあなたのコードを見ていないので、正確な問題を伝えることはできません。ここで私はあなたのソリューションを見ています。最初に2番目のドロップダウン値をフィルタメソッドに追加します。選択されていない場合はデフォルト値が設定されます。

public ActionResult Index(string sortOrder, string id, 
           string channelLocation, int secon_ddl = 0) 

は、第2の選択されたかどうかを確認し、この場合は0であり、そして第二の方法にアイテムの別の方法WICH戻るリストを追加し、firtsドロップダウン値が変更されたときにそれを呼び出す

if(secon_ddl != 0) 
    { 
     //do whatever 
    } 

をフィルタリング。最適なオプションは、JSON形式の戻り値です。ここ ので、テーブルの更新は、この最後のコードは完全にdifferntする必要がありますあなたのケースでは、単純な

('#category_list, #subCategory_list').change(function(){ 
     table.draw(); 
}) 

で、私はカテゴリが

('#category_list').change(function() { 
    var cat_value = $(this).val(); 
    $.ajax({ 
     url: '/Product/GetSubCategory', 
     type: "GET", 
     dataType: "JSON", 
     data: { category: cat_value }, 
     contentType: 'application/json', 
     success: function (data) { 
      if (data.length > 0) { 
       var list = $('#subCategory_list'); 
       list.html(""); // clear before appending new list 
       list.append(
         $('<option></option>').val(null).html("Chose")); 
       $.each(data, function (i, subCat) { 
        list.append(
         $('<option></option>').val(subCat.id).html(subCat.name)); 
       }); 
      }    
     } 
    }); 
} 

を変更したときに、私はjqueryののDataTableを使用していますサブカテゴリのリストを更新しています、私のコードです。あなたのフィルタmehtodが両方のドロップダウンリストの値と、ドロップダウンの1つが変更されたときの起動を確認してください。これがあなたを助けることを願って!

関連する問題