1

2 つの選択ボックスがあります。1 つは国、もう 1 つは都市です。ユーザーが国を選択すると、その国の適切な都市がデータベースの「都市」に取り込まれます。

私はjqueryとjavascriptが初めてで、これを実装する方法がわかりません。この機能を実行するためのサンプル コードを教えていただければ幸いです。私はスクリプト言語に慣れていないので、よくわかりません。

Pythonで実装されているdjangoフレームワークのフォームの1つでこれを使用しています。

前もって感謝します

<!DOCTYPE html>
<html>
<head>
  <style>
  div { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <select name="country" id="country">
    <option value = "india">india</option>
    <option value = "USA">USA</option>
    <option value = "UK">UK</option>
    <option value = "China">China</option>
    <option value = "Sweden">Sweden</option>
    <option value = "Germany">Germany</option>
  </select>

  <select name="cities" id="cities">
  <option value = ""></option>
  </select>  
  <div></div>  

</body>
</html>
4

1 に答える 1

0

これを試して:

テンプレート内

 $('#country').change(function() { 
    var value = $(this).attr('value'); 
    var request = $.ajax({
        url: "/getcities/",
        type: "GET",
        data: {country : value},
        dataType: "json",

        success: function(data) {
         //Popluate combo here by unpacking the json
        }
    });


});

あなたの見解では:

def getcities(request)
    if request.method == "GET":
        country = request.GET["country"]
        cities = Cities.objects.filter(country=country)
        results = [{'city': str(city.name), 'id':city.id} for city in cities]
        json = simplejson.dumps(results)
        return HttpResponse(json, mimetype='application/json')

url /getcities/をurls.pyのビューにマップする必要があります。

于 2012-08-07T09:15:11.263 に答える