2013-10-05 3 views
0

Я все еще студент веб-разработки, поэтому, пожалуйста, со мной.Выбор объектов django с jquery

У меня есть объекты модели отображаются в шаблоне с цикл, как это:

{% for post in posts %} 

{{post.text}} 

{% endfor %} 

Теперь я хочу, чтобы прикрепить кнопку к каждому сообщению объект, который хранит значение post.id и нажав на кнопка должна сделать запрос ajax, который обновляет атрибут голосования для этого конкретного объекта.

Итак, я попытался добавить кнопку, как это:

{% for post in posts %} 

    {{post.text}} 

<input type="submit" value="V" id="upButton" post_id="{{post.id}}"></input> 

    {% endfor %} 

До AJAX Я просто хочу, чтобы увидеть, если кнопки работают, поэтому я попытался проверить (с помощью JQuery), если она предупреждает значение post.id от каждого сообщения:

<script> 
    $(document).ready(function(){ 
     $('#upButton').click(function(){ 
     var post_id = $('#upButton').attr('post_id'); 
     alert(post_id); 
     }); 
    }); 
    </script> 

Работает только кнопка на первом объекте. Другие кнопки не работают. Что тут происходит? и любые советы по этому методу прикрепления кнопок к объектам также будут полезны.

Приветствия

ответ

0

id атрибут может быть установлен только один раз в HTML-страницы.

Таким образом, код javascript будет ссылаться только на первый элемент.

Изменить его:

<input type="submit" value="V" data-role="upButton" post_id="{{post.id}}"></input> 

И в JavaScript:

<script> 
    $(document).ready(function(){ 
     $('[data-role=upButton]').click(function(){ 
     var post_id = $(this).attr('post_id'); 
     alert(post_id); 
     }); 
    }); 
    </script> 

Он должен работать

+0

лодка нагрузки спасибо! –

+0

избегать post_id = ... (недействительный HTML) и использовать data-post-id = ... это допустимый HTML – YardenST

+0

oh ok. Благодарю . –

Смежные вопросы