【发布时间】:2018-10-26 05:45:02
【问题描述】:
初始化使用 Switchery 加载的复选框时出现错误。请注意,复选框已使用 AJAX 请求加载
未捕获的类型错误:无法读取未定义的属性“已禁用” 在 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.");
}
});
【问题讨论】:
-
switchery在 ajax 成功响应后被初始化了吗? -
切换复选框未初始化或显示,而是在浏览器控制台上观察到错误消息。
-
您是否尝试过
console.log(elems)并检查是否正在检索'.new-switchery-stock'+k -
是的,我试图安慰他们的人数。
console.log($('.new-switchery-stock'+k).length); -
没关系。为每个输入复选框分配一个唯一的 HTML id 属性解决了我的问题。
标签: javascript jquery switchery