Skip to main content

多选框自定义选项

情景描述

商家文案恢复为系统默认文案,文本框的恢复很容易做好了。

遇到多选框的时候有点犯傻了,官网也没个详细讲解。

看源码发现用的是select2插件。

找了一官网的文档描述 select2插架的官方的文档的这个地方,是讲解设置选项的。 https://select2.org/programmatic-control/methods

  • 方法
$(".js-programmatic-multi-set-val").on("click", function () {
$exampleMulti.val(["CA", "AL"]).trigger("change");
});

于是代码的部分我是这样写的。

多选框的恢复默认

Admin::script('

$("#setDefault").on("click", function(){
if(confirm("全部恢复默认会将您的文案内容全部恢复成默认文案,您确定这样操作吗?"))
{
$.ajax({
method: \'post\',
url: "/admin/ajax/set-all-default-phone-test-causes",
data: {
_token:LA.token,
id:'.$merchant_id.',
},
success: function (data) {
if(data)
{
window.location.reload();
}
}
});
}
});

$(\'.form-control \').after(\'<div class="text-right"><a class="btn btn-sm btn-info resetDefault"><i class="fa fa-repeat"></i>&nbsp;&nbsp;恢复默认</a></div>\');

$(".resetDefault").on("click", function(){
dom = $(this).closest("div").prev().prev();
console.log(dom);
var name = dom.attr("name");
$.ajax({
method: \'post\',
url: "/admin/ajax/set-default-phone-test-causes",
data: {
_token:LA.token,
name:name,
},
success: function (data) {
dom.val(JSON.parse(data)).trigger("change");
}
});
});


');

return $form;
}

文本框的恢复默认我是这样写的

Admin::script('
$("#setDefault").on("click", function(){
if(confirm("全部恢复默认会将您的文案内容全部恢复成默认文案,您确定这样操作吗?"))
{
$.ajax({
method: \'post\',
url: "/admin/ajax/set-all-default-phone-test-analyzes",
data: {
_token:LA.token,
id:'.$merchant_id.',
},
success: function (data) {
if(data)
{
window.location.reload();
}
}
});
}
});

$(\'.form-control \').after(\'<div class="text-right"><a class="btn btn-sm btn-info resetDefault"><i class="fa fa-repeat"></i>&nbsp;&nbsp;恢复默认</a></div>\');

$(".resetDefault").on("click", function(){
dom = $(this).closest("div").prev();
var name = dom.attr("name");
$.ajax({
method: \'post\',
url: "/admin/ajax/set-default-phone-test-analyzes",
data: {
_token:LA.token,
name:name,
},
success: function (data) {
dom.val(data);
}
});
});


');



return $form;
}