如何在 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);
我认为这会解决问题。
有几处是错误的。
- 正如我在评论中提到的,您错过了
type="checkbox"
。
subcatlist
应该是 data
而不是使用 0 ,而是使用 index.
所以你的代码应该如下所示。
$.each(data, function (index, subcatlist) {
$('#demos').append('<input value="' + data[index].ID + '" type="checkbox">' + data[index].Name + '</input>');
});
我想使用 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);
我认为这会解决问题。
有几处是错误的。
- 正如我在评论中提到的,您错过了
type="checkbox"
。 subcatlist
应该是data
而不是使用 0 ,而是使用 index.
所以你的代码应该如下所示。
$.each(data, function (index, subcatlist) {
$('#demos').append('<input value="' + data[index].ID + '" type="checkbox">' + data[index].Name + '</input>');
});