フィルタリングされたデータベースからいくつかのデータを入力する dropdownlistFor と、チェックボックスがあります。アイデアは、チェックボックスをオフにすると、ドロップダウンボックスに入力されたデータを、フィルターなしのデータベースのデータで変更したいということです。
これを行うための良いアプローチはどれですか?
フィルタリングされたデータベースからいくつかのデータを入力する dropdownlistFor と、チェックボックスがあります。アイデアは、チェックボックスをオフにすると、ドロップダウンボックスに入力されたデータを、フィルターなしのデータベースのデータで変更したいということです。
これを行うための良いアプローチはどれですか?
推奨される方法は、ドロップダウン リストを bool パラメータを使用して別のアクションとしてロードすることですfiltered
。あなたのビューでこれを呼び出すことができます@Html.Action("DropDownList", new {filtered = true})
次に、チェック ボックスをオフにすると、ドロップダウンをフィルター処理されていないデータのアクションに置き換える関数が呼び出されます。
$("#myCheckBox").click(function() {
if($("#myCheckBox").attr("checked") == "checked"){
$("#divContainingDropDown").load("../path/to/dropdown/action?filtered=true")
} else {
$("#divContainingDropDown").load("../path/to/dropdown/action?filtered=false")
}
}
この関数は、リスト内のデータをフィルタリングおよびフィルタリング解除するために機能します。
Ajax と jQuery は、それを行うための簡単で優れた方法です。