2009-04-14 4 views
2

私はJqueryでそれをやることにしました。Jsonオブジェクトをドロップダウンするには?

これは私のcityController

public ActionResult States(int id) 
    { 
     AcademicERP.Models.AcademicERPDataContext dc = new AcademicERPDataContext(); 
     var states = from s in dc.States 
         where s.CountryID == id 
         select s; 
     return Json(states.ToList()); 
    } 

であると私は/

都市からそれを呼び出すスクリプトを

var ddlCountry; 
var ddlStateID; 

function pageLoad() { 
    ddlStateID = $get("StateID"); 
    ddlCountry = $get("CountryID"); 
    $addHandler(ddlCountry, "change", bindOptions); 
    bindOptions(); 
} 
function bindOptions() { 
    ddlStateID.options.length = 0;   
    var CountryID = ddlCountry.value; 
    if (CountryID) { 
// some logic to call $.getJSON() 
     } 

を持つページを作成しようとしていると私は、ビューにDDを持って

<%= Html.DropDownList("CountryID") %> 
<select name="StateID" id="StateID"></select> 

なので、getJSONパラメータは何でしょうか? 私はblogを参照しています。動作しません。このよう

+0

をあなたもそれを行うことができますjaweryをhttp://awesome.codeplex.comのライブデモからAjaxDropdownを使用して知っている/書いている必要はありません。http://demo.aspnetawesome.com/AjaxDropdownDemo – Omu

答えて

4

function bindOptions() 
{ 
    ddlStateID.options.length = 0; 
    var CountryID = ddlCountry.value; 
    if (CountryID) 
    { 
     var url = "/<YOUR CONTROLLER NAME>/States/" + CountryID; 
     $.get(url, function(data) { 
      // do you code to bind the result back to your drop down 
     }); 
    } 
} 

OR、代わりにpageLoadを使用して、私はjQueryので純粋にそれを使用します。そのような

$(document).ready(function() { 
    $("#CountryID").change(function() { 
     var strCountryIDs = ""; 
     $("#CountryID option:selected").each(function() { 
      strCountryIDs += $(this)[0].value; 
     }); 

     var url = "/<YOUR CONTROLLER NAME>/States/" + strCountryIDs; 
     $.getJSON(url, null, function(data) { 
      $("#StateID").empty(); 
      $.each(data, function(index, optionData) { 
       $("#StateID").append("<option value='" 
        + optionData.StateID 
        + "'>" + optionData.StateName 
        + "</option>"); 
      }); 
     }); 
    }); 
}); 

何か...

+0

jsonで選択した値を送信できますか? – Vikas

関連する問題