mui picker选择器动态赋值不成功

21 篇文章 2 订阅
4 篇文章 0 订阅

后端使用thinkphp6框架,查询数据,按照需求封装成前端需要的json数组格式,原始数据如下:

开始处理数据: 

public function index(){        
    $industry = industry(); //行业详情 ,查询出来的数据,如上面的二维数组    
    $arr = array(); //空数组 用于存储前台需要的数据
    foreach($industry as $k=>$v) { //拼接前台需要的数据
         $arr[$k]['value'] = $v['t_id']; 
         $arr[$k]['text'] = $v['t_name'];
    }
     
    return view('index',[
        'carousel' => carousel(), //轮播图
        'industryStr' => urldecode(json_encode($arr)), //行业详情 ,将处理好的数据变成 json 传递,因为这里数组中包含中文,所以需要使用 urldecode() 处理一下
    ]);
}

处理好的数据如下:

[{"value":1,"text":"\u4e92\u8054\u7f51"},{"value":2,"text":"\u901a\u4fe1"},{"value":3,"text":"\u7535\u5b50"},{"value":4,"text":"\u91d1\u878d"},{"value":5,"text":"\u94f6\u884c"},{"value":6,"text":"\u4fdd\u9669"}]

这里我发现,如果将上面的json数组使用静态方法直接赋值给mui的选择器是可以直接使用的,但是我用动态赋值的方法则不行,不光是不行,连值我都打印不出来,后来我估计应该是数据有问题,导致js都失效了,后来改了一种写法,将得到的数据输出在html页面,然后使用js去拿数据,并使用$.parseJSON( )处理数据:

<!-- html 代码 -->
<div id="industryStr" style="display: none">{$industryStr}</div>
<div class="search-left">
    <a href="JavaScript:;" onclick="selecteds()">
       <span id="industry">选择行业</span>
       <span class="mui-icon mui-icon-arrowdown"></span>
   </a>
</div>
//js代码
function selecteds() {
    var picker = new mui.PopPicker();
    var arr = $("#industryStr").text(); //获取 json 
    picker.setData($.parseJSON(arr)); //处理 json
    picker.show(function (selectItems) {
        $("#industry").html(selectItems[0].text);
        console.log(selectItems[0].value);
    })
} 

最终效果: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值