返回

fastadmin 键值组件 中的 select 编辑时选中的方法

发布时间:2022-12-20 22:30:40 1502
# 前端# jquery# php# 后端# 数据

在键值组件中编辑edit时,selectpicker 控件无法选中的解决方案:

一、edit.html代码中

<select class="form-control selectpicker dtselect" name="<%=name%>[<%=index%>][ptypeid]" data-dtselected="<%=row.ptypeid%>">
{volist name="ptypelist" id="ptype"}
<option value="{$ptype}">{$ptype}</option>
{/volist}
</select>

1、在控件的 class 样式中增加jquery选择 “dtselect”(名称任意)

2、在控件的中增加数据属性 data-dtselected,并将编辑的值赋给data-dtselected。如:data-dtselected="<%=row.ptypeid%>" 

二、对应的js代码中

 edit: function () {
Controller.api.bindevent();

$(document).on("fa.event.appendfieldlist", ".btn-append", function (e, obj) {
//绑定动态下拉组件
Form.events.selectpage(obj);

//编辑时选中下拉列表
$(".dtselect").each(function(){
let dt = $(this).data("dtselected");

if(typeof(dt)!='undefined'){
$(this).val(dt);
}
});
});

},

1、jquery选择器,获取编辑时动态添加的select控件,并遍历$(".dtselect").each();

2、在遍历中把获取的值从新赋值选择即可。获取值:let dt = fastadmin 键值组件 中的 select 编辑时选中的方法_select(this).val(dt);

 

总结:

<select class="form-control selectpicker" name="<%=xmmc%>[<%=index%>][myjg]">
{volist name="yzjllistList" id="vo"}
<option value="{$vo}" {in name="vo" value="<%=row.myjg%>"}selected{/in}>{$vo}</option>
{/volist}
</select>

网上案例是在select控件的option中判断是否是该值,然后选中。这里有一个严重的问题是 value="<%=row.myjg%>"是前端js解析的代码,后端thinkphp执行的时候value中的值一直是<%=row.myjg%>并未是真正的值,所以无法选中。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线