2015-05-10 3 views
0

Я хочу, когда я нажимаю на флажок CheckboxSelectMultiple, активируется один javascript события.Django javascript в CheckboxSelectMultiple

Моя форма:

class fichePresentationForm(forms.ModelForm): 
    CHOICES = ('Others','Others'),('Caraibes','Caraibes')) 
    competences_form = forms.MultipleChoiceField(choices=CHOICES, widget=forms.CheckboxSelectMultiple(attrs={'id': 'listCompetences',}),") 

Мой HTML:

<div class="row"> 
        <div class="col-md-4"> 
         {{ form.competences_form|bootstrap }} 
        </div> 

Мои JS:

$(document).ready(function() { 
    $("#listCompetences").click(function(){ 
     for (val in $("#listCompetences")){ 
      alert(val); 
     } 
    }); 
}); 

Но когда я нажимаю на флажок, многие оповещения будут отображаться. Предупреждающие сообщения: «0», «длина», «контекст», «селектор», «jquery», «конструктор» ... и т. Д.

Я хочу, чтобы отобразить "Другие" и "CARAIBES" ...

Спасибо за вашу помощь!

+1

для структуры вы используете looping все свойства объекта $ ("# listCompetences"), который является объектом jquery. См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in. Вы не нацеливаете то, что вам нужно. Было бы легче ответить с помощью рендеринга html. –

+0

Как использовать отображаемый html? Я новичок в js ... – YassVegas

+0

Откройте свою страницу и найдите исходный код где-нибудь в меню. Это зависит от вашего браузера. Например, в Chrome вы можете просто добавить источник просмотра: перед своим адресом. –

ответ

0

Это не вопрос Django: вы просто перебираете неправильную вещь. Вы почти никогда не хотите использовать for ... in в JavaScript, поскольку он выполняет итерацию по всем внутренним свойствам объекта.

Вместо этого следует использовать JQuery, чтобы явно выбрать объекты, которые вы хотите - в этом случае option элементов в select - и использовать метод each() перебирать их:

$("#listCompetences").click(function(){ 
    $(this).find('option').each(function() { 
     alert($(this).val()); 
    }); 
}); 
+0

Я пробую этот код и много вариантов, ничего не отображается: /. CheckboxSelectMultiple:

  • ...
YassVegas

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