选择2仅处理数组的第一个元素

时间:2017-08-15 19:22:04

标签: javascript jquery laravel jquery-plugins jquery-select2

我有一个数组,并在该数组中使用select 2。选择2正在处理第一个元素,但在其他元素中,选择2正在工作。

我的HTML:

@foreach($quizzes as $quiz)

<select class="js-example-basic-multiple grades" multiple id="grades" name="grades[]">
<option value="1">Form 1 History</option>
<option value="2">Form 2 History</option>    
</select>
@endforeach

我的剧本:

 <script>
$("#grades").select2();
$("#checkbox").click(function(){
  if($("#checkbox").is(':checked') ){
    $("#grades > option").prop("selected","selected");// Select All Options
    $("#grades").trigger("change");// Trigger change to select 2
  }
  else{
    $("#grades > option").removeAttr("selected");
    $("#grades").trigger("change");// Trigger change to select 2
  }
});

$("#button").click(function(){
  alert($("#grades").val());
});
$("#grades").select2({
  placeholder: "To be done by...",
  allowClear: true
});

 </script>

我似乎无法找出问题所在。

1 个答案:

答案 0 :(得分:1)

尝试按类名而不是ID初始化select2。元素ID在整个DOM中应该是唯一的。

$(".grades").select2({
  placeholder: "To be done by...",
  allowClear: true
});

并删除第一个$("#grades").select2();

相关问题