初始化Switchery加载的复选框时出现错误。请注意,复选框已使用AJAX请求加载
未捕获的TypeError:无法读取未定义的属性“禁用” 在Switchery.isDisabled(switchery.min.js:1) 在新的Switchery(switchery.min.js:1) 在HTMLInputElement。 (:3:25) 在Function.each(jquery.min.js:2) 在n.fn.init.each(jquery.min.js:2) 在:1:27
AJAX
$.ajax({
url: '/admin/item/editReviewAndFinalSettings/{{ $item->id }}',
type: "POST",
data: {
'type':'{{ucfirst($_GET['type'])}}',
'item_group_id':'{{ $item->id }}',
'priceType[]':priceType,
'optionName[]':optionName,
'serviceName[]':serviceName,
'itemCodes[]':itemCodes,
'partnerCodesStock[]':partnerCodesStock,
'itemStockId[]':itemStockId,
},
success: function(response) {
$(".finalReviewStockContainer").html(response);
$(".new-switchery-stock").each(function(k,v) {
var elems = document.querySelector('.new-switchery-stock'+k);
var switchery = new Switchery(elems[0]);
});
},
fail: function() {
console.log("Error occurred while fetching review and final settings.");
}
});
答案 0 :(得分:0)
也许您应该使用$(document).ready(function(){/ *您在这里的东西* /});
答案 1 :(得分:0)
对于ajax成功响应后的解决方案,请这样填写
$(document).find(".new-switchery-stock").each(function(k,v) {
var elems = $(document).find('.new-switchery-stock'+k);
var switchery = new Switchery(elems[0]);
});
然后对其进行测试。
答案 2 :(得分:0)
为每个输入复选框分配一个唯一的HTML id属性,然后再使用Switchery函数对其进行初始化解决了我的问题。