Django で作成した modelChoiceField があります。
lawsToValidate=forms.ModelChoiceField(queryset=LawsIdsModel.objects.filter(validated=0).values("releveAnnee", "releveMois", "noOrdre"), widget=forms.Select(attrs={'onchange': 'javascript: lawToValidateDisplay(this.value);'}))
django コードは、次の html コードを作成します。
<option value="{'releveMois': 1L, 'noOrdre': 2L, 'releveAnnee': 2009L}">{'releveMois': 1L, 'noOrdre': 2L, 'releveAnnee': 2009L}</option>
django コードは、ドロップダウン リストをクリックした直後に jquery 関数を呼び出します。選択した値を JavaScript 関数で表示すると、次のようになります。
{'releveMois': 1L, 'noOrdre': 3L, 'releveAnnee': 2009L}
jquery / javascriptでこのpython辞書から情報を取得するにはどうすればよいですか。releveMois、releveAnnee、noOrdre を取得するにはどうすればよいですか? jQuery.parseJSON を試してみると、うまくいきません。
EDIT: 以下のコメントで、html出力を変更する方が良いことがわかりました。ドロップダウンリストを生成するためのテンプレートコードは次のとおりです。
<div id="lawsToValidateChoice" class="fieldWrapper">
{{ form.lawsToValidate.errors }}
<select onchange="javascript: lawToValidateDisplay(this.value);" name="lawsToValidate" id="id_lawsToValidate">
<option value="" selected="selected">Select a law to validate</option>
{% for law in form.lawsToValidate.field.queryset %}
<option value="{{ law.releveAnnee }},{{ law.releveMois }},{{ law.noOrdre }}">releveAnnee={{ law.releveAnnee }}, releveMois={{ law.releveMois }}, noOrdre={{ law.noOrdre }}</option>
{% endfor %}
</select>
</div>
値を解析するのにもう問題はありません! 解決しました!