fastadmin 键值组件 中的 select 编辑时选中的方法
  ef2rCTz2MYFm 2023年11月13日 26 0

在键值组件中编辑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 编辑时选中的方法_键值组件(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%>并未是真正的值,所以无法选中。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

ef2rCTz2MYFm