我希望当我点击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; ...
感谢您的帮助!
答案 0 :(得分:0)
这不是一个真正的Django问题:你只是在循环错误的东西。您几乎从不想在JavaScript中使用for ... in
,因为它会迭代对象的所有内部属性。
相反,使用jQuery显式选择所需的对象 - 在本例中为option
中的select
元素 - 并使用each()
方法迭代它们:
$("#listCompetences").click(function(){
$(this).find('option').each(function() {
alert($(this).val());
});
});