asp.net mvc - Dynamic state city drop down list in mvc -


i have gone half mad trying figure out wrong code,so need here, code works fine ,actually code dynamically gets forms 2 dropdownlists ,one state , 1 city when select state corresponding cities populated db in city dropdownlist!,the state dropdownlist populated states city dropdownlist populated undefined options!,this basic problem facing,i pasting code also,maybe figure out wrong it!

homecontroller

public class homecontroller : controller {     //     // get: /home/     dataclasses1datacontext dd = new dataclasses1datacontext();     public actionresult index()     {          viewbag.state = dd.tb_statecities.select(m => new selectlistitem { text = m.state }).distinct().tolist();         return view();     }     public actionresult city(string state)     {          var v = dd.tb_statecities.where(m => m.state == state).select(m => m.city).tolist();         return json(v, jsonrequestbehavior.allowget);       }  } 

index.cshtml

<script src="~/scripts/jquery-1.7.1.min.js"></script> <script type="text/javascript">     $(function () {          $('#state').change(function () {              var val = $('#state').val();             $.get("home/city", { state: val }, function (data) {                 var v="<option>select</option>"                 $.each(data, function (i, q) {                      v += "<option value=" + q.city + ">" + q.city + "</option>";                   });                 $('#city').html(v);              });          });      });    </script>    <div>     @html.dropdownlist("state", "select")     @html.dropdownlist("city", new list<selectlistitem> {    new selectlistitem{text="select",value="0"}   }); 

i'm going guess tb_statecities.city string, query here returning list<string>, not list<tb_statecity>...

var v = dd.tb_statecities             .where(m => m.state == state)             .select(m => m.city)             .tolist(); 

that means in javascript, q name of city, explains why q.city undefined. try this...

$.each(data, function (i, q) {     v += "<option value=" + q+ ">" + q + "</option>"; }); 

Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -