30 Haziran 2016 Perşembe

ÖRNEK4: Dropdown'da seçilen ürünü tablodan sorgulayıp form üzerindeki text'e fiyatını yazsın:


var _id = $(this).val(); ile seçilen değerin id'si alınır ve ajax içerisinden 
url: '/ajax3-mesaj?'+ "id=" + _id, ile view'e gönderilir.View 'de 
gelen_id=request.GET['id'] ile id değeri alınır, data = Urun.objects.get(id=gelen_id)
ile tablodan sorgu yapılır , data.fiyat ile istenilen değer html sayfaya dönderilir. 

urls.py
----------------------------------------
url(r'^ajax3-sayfa/', yonetim.views.ajax3_sayfa),
url(r'^ajax3-mesaj', yonetim.views.ajax3_mesaj),





views.py
-----------------------------------------
from django.http import HttpResponse
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.shortcuts import render


from .models import *
from .forms import *

def ajax3_sayfa(request):
    urunler = Urun.objects.all()
    return render(request, 't3.html', {'urunler':urunler})

def ajax3_mesaj(request):
    gelen_id=request.GET['id']
    data = Urun.objects.get(id=gelen_id)
    return HttpResponse(data.fiyat, content_type = "application/text")


tempalte/t3.html
--------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
        $('select[name=mySelect]').change(function(){
            var _id = $(this).val();
            $.ajax({
                cache: false,
                url: '/ajax3-mesaj?'+ "id=" + _id,
                type: 'GET',
                dataType: "html",
                success: function (result) {
                    $('#txt2').val(result);
                },
                error: function (xhr, ajaxOptions, thrownError) {
                    alert('Error during process: \n' + xhr.responseText);
                }
            });
        });
    });
    </script>
</head>
<body>
    Ürün Seç:
    <select name="mySelect">
            <option>--</option>
            {% for row in urunler %}
                <option value="{{row.id}}" >{{ row.ad}}</option>
            {% endfor %}
    </select> </td><br>
    Fiyatı:<input type="text" id="txt2" name="txt2" /><br/>
</body>
</html>

Hiç yorum yok:

Yorum Gönder