curiousIT:
私は、ドロップダウンリストが値を変更する際にJS / AJAXスクリプトを実行しようとしているDjangoのプロジェクトを持っています。同じコードは、ボタンのためではなく、ドロップダウンに適しています。
ここでは、ボタン、ドロップダウン、最後にスクリプトを含むHTMLコードは次のとおりです。
<button class="toChange">AJAX POST TEST</button>
<select class="toChange">
{% for item in regions %}
<option val="{{ item }}" {% ifequal item reg %} selected {% endifequal %}> {{ item }} </option>
{% endfor %}
</select>
<script type="text/javascript">
$(".toChange").click(function(){
$.ajax({
type: 'POST',
});
});
EDIT1:views.pyを追加し、私は私の例を単純化しすぎたかもしれないとして、それを適切に反映するために、私のドロップダウンを改正します。
def MyView(request):
result_r = request.POST.get('reg')
if request.method == 'POST' and request.is_ajax:
result_r = request.POST.get('reg')
query_results = data_immo.objects.all()
regions = data_immo.objects.values_list("nom_reg", flat=True).distinct().order_by('nom_reg')
departements = data_immo.objects.values_list("insee_dep").filter(Q(nom_reg=result_r)).distinct()
query_results_dict = {
'query_results': query_results,
'regions': regions,
'departements': departements,
'reg': result_r
}
return render(request,'home.html', query_results_dict)
なぜそれがボタンではなく、ドロップダウンで動作しますか?私はこれには本当に新しいですので、何が間違っているアイデアを行います。ありがとう!
アヌラーグSrivastava氏:
あなたは使用する必要がchange
ある場合には、イベントを<select>
$(".toChange").on('change', function(){ ... })