【发布时间】:2017-11-19 05:20:57
【问题描述】:
我可以使用下面的代码将数据保存到我的数据库中。当用户单击复选框时,项目的名称将显示并存储在数据库中。但我现在的问题是,当我编辑存储的数据时,我能够检索已检查的项目(之前选择并保存的项目),但用于附加代码的 JS 没有运行。
当我取消选中并再次检查时,它可以正常工作。
编辑时,会检查保存在数据库中的项目,但显示所选项目名称的代码的 JS 部分没有运行。为什么会这样?
HTML
<div class="form-group">
<label for="name" class="col-lg-1 control-label"> Name</label>
<div class="col-lg-8">
<input type="text" class="typeahead form-control" id="name" value="{!!$item->products['name']!!}" placeholder=" Name" name="name" required>
</div>
</div>
<input onclick="return data(this)" data-food="{{$product->toJson()}}" type="checkbox" id="{!! $product->id !!}" name="{!! $product->name !!}"
value="{!! $product->price !!}" @foreach ($product->emps as $deliver) @if($product->id == $deliver->id) checked @endif @endforeach />
JS
function data(item)
{
var ad = JSON.parse(item.dataset.stuff);
if(item.checked == true) {
$('.container').append(
'<div class="shipment_container" > '+
'<p class="name" >'+ad.name+'</p>'+
'</div>');
}
else {
$(".container.shipment_container [data-id=" + ad.id + "]").parent().remove();
}
}
更新
$( document ).ready(function() {
function data(item)
{
var ad = JSON.parse(item.dataset.stuff);
if(item.checked == true) {
$('.container').append(
'<div class="shipment_container" > '+
'<p class="name" >'+ad.name+'</p>'+
'</div>');
}
else {
$(".container.shipment_container [data-id=" + ad.id + "]").parent().remove();
}
}
});
【问题讨论】:
-
获取
<input>元素并将其传递给document ready 上的data()函数。 -
@Camilo 请查看我的更新,但它仍然无法正常工作
-
你能显示从刀片生成的 html 代码吗?
-
1.检查是否在单击复选框时调用
data函数(使用警告框) 2.如果它工作,请检查调用函数时是否存在容器alert($('.container').length) -
@SupunFictionPraneeth 是点击时调用数据函数
标签: javascript jquery laravel