CheckboxSelectMultiple中的Django javascript

时间:2015-05-10 19:41:06

标签: javascript jquery django javascript-events

我希望当我点击CheckboxSelectMultiple的复选框时,会激活一个事件javascript。

我的表格:

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);
        }
    });
});

但是当我点击一个复选框时,会显示许多警报。警报消息是&#34; 0&#34;,&#34;长度&#34;,&#34;上下文&#34;,&#34;选择器&#34;,&#34; jquery&#34;,& #34;构造&#34; ...等

我想要展示&#34;其他&#34;和#34; Caraibes&#34; ...

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这不是一个真正的Django问题:你只是在循环错误的东西。您几乎从不想在JavaScript中使用for ... in,因为它会迭代对象的所有内部属性。

相反,使用jQuery显式选择所需的对象 - 在本例中为option中的select元素 - 并使用each()方法迭代它们:

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