如何在 Laravel 5.2 中使用 JavaScript 填充复选框

How to populate checkboxes using JavaScript in Laravel 5.2

我想使用 JavaScript 动态填充复选框列表。我做了以下事情:

在我的 balde view:

<div  id="demo" class="collapse" > 
    <div class="panel panel-default" >
          <div class="panel-body" id="demos" style="max-height: 100px;overflow-y: scroll;" >

             <input type="checkbox" name="specific[]" value=" "> <br>

           </div>    
     </div>
 </div>

我的脚本:

$(document).ready(function(){
     $('#ItemID').on('change',function(e){
        console.log(e);
        var itemID= e.target.value;


        $.getJSON('/xxxxx/list?itemID=' + itemID, function(data){
           $('#demos').empty();
           $.each(data,function(index, subcatlist){
               $('#demos').append('<input value="'+subcatlist[0].ID+'">'+subcatlist[0].Name+'</input>');
            });
          });             
        });
      });

route.php 传递想要的数据。

我希望我的视图是这样的,一个复选框后跟名称:

但我得到的是:

我正在为视图获取名称,但前导复选框丢失并替换为文本框。我该如何解决这个问题?

试试这个:

$('#demos').append('<input type="checkbox" value="' + subcatlist[0].ID + '"/>' + subcatlist[0].Name);

我认为这会解决问题。

有几处是错误的。

  1. 正如我在评论中提到的,您错过了 type="checkbox"
  2. subcatlist 应该是 data 而不是使用 0 ,而是使用 index.

所以你的代码应该如下所示。

$.each(data, function (index, subcatlist) {
        $('#demos').append('<input value="' + data[index].ID + '" type="checkbox">' + data[index].Name + '</input>');
    });