Как импортировать несколько значений из представлений в несколько кнопок в шаблоне? - PullRequest
2 голосов
/ 27 апреля 2020

У меня есть набор кнопок в index. html и словарь со значениями для некоторых кнопок в views.py, которые я импортирую через ajax. Я хочу сделать go через этот словарь и загрузить каждое значение в его указанную c кнопку.

Это в основном html.

$(document).ready(function(){       
    $(':button').on('click', function(event){
        $('#ID').val(this.id);          
        var tmp = this.id;
        $.ajax({
            type: $('#klik').attr("method"),
            url : $('#klik').attr("action"),
            data : $('#klik').serialize(),
            success: function(d){
                {% for gumb in buttons %}
                alert('alo')
                    $('#' + Gumb.id).val(d);
                {% endfor %}
                //$('#' + tmp).val(d); // this works only for one button, I tried using for loop for multple

            },
            error: function(){
                alert('Greska')
            }
        });       
    });
});

А что касается views.py, это то, что я возвращаю.

def klik(request):
print('Test')
if request.is_ajax() and request.POST:
    print(request.POST)
    ID = request.POST['ID']
    vr = r[ID]
    gumbi = []
    g = Gumb(ID, vr)
    gumbi.append(g)
    ...something....
    d = dict()
    d['buttons']= gumbi
    #return render(request,'index.html', d)
    return HttpResponse(d)

В gumbi может быть больше Gumb, а Gumb - это класс, где Gumb.id тот же идентификатор, что и у кнопки в html, а Gumb.b - это значение, которое я хочу для кнопки.

Работает только с одной помеченной кнопкой:

//$('#' + tmp).val(d);

, если Я возвращаю это в представлениях:

return HttpResponse(vr)

, но не с несколькими.

1 Ответ

0 голосов
/ 27 апреля 2020

Я предполагаю, что вы возвращаете список JSON объекта здесь.

[{d:data},{d:data}]

//ajax code
success: function(data) {
//use $.each here not the framework each
    $.each(data, function(index, value) {
        console.log(value) //iterates your data see dev tools console for prints
    })

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...