そのため、最初のドロップダウンに基づいて2番目のドロップダウンボックスにデータが入力される動的フォームを作成しようとしています。
私はajax
&jquery
を使用してdjangoプロジェクトでこの動的フォームを構築していますが、少し助けが必要です。ajax呼び出しが正しく機能するようになり、選択肢をフォームに送り返しましたが、フォームに選択肢を入力するのに問題があります。
誰かがjson出力をhtmlオプションに変えるのを手伝ってもらえますか?
これが私のajax.pyです:
def switch_plan(request, *args, **kwargs):
from plans.models import Plan, OwnershipType, MemberType, PlanMember
from datetime import datetime
now = datetime.now()
json = {}
data = request.POST
plan_type = data.get('plan-plan_type')
print plan_type
if request.is_ajax():
if plan_type == '5':
ownership = OwnershipType.objects.all().exclude(id=3).exclude(id=8).exclude(id=9)
json['owner_types'] = ownership
return HttpResponse(simplejson.dumps(json), mimetype='application/json')
私のplans.htmljsコード:
<script type="text/javascript">
$(function(){
$("#id_plan-plan_type").change(function() {
q = $("form").serialize();
$.ajax({
type: "POST",
url: "{% url plans-switch_plan %}",
dataType: "json",
data: q,
success: function(json) {
//need help here
}
});
});
});
$("#id_plan-ownership_type")
オプションを追加する必要がある選択フィールドです。
私のjson出力を編集するのは次のとおりです{'owner_types': [<OwnershipType: Corporate/Non-Corporate>, <OwnershipType: Estate>, <OwnershipType: In Trust For>, <OwnershipType: Joint Subscriber>, <OwnershipType: Single Subscriber>, <OwnershipType: Tenants in Common>]}