解决方案; picker和Select组件是通过input标签绑定,可以先通过input的父级元素移除input标签,重新插入input标签,最后重新初始化picker或Select组件。
<div class="weui-cell"> <div class="weui-cell__hd"><label for="time-format" class="weui-label">性别</label></div> <div class="weui-cell__bd"> <input class="weui-input " id="appl_sex" name="appl_sex" type="text" value=""> </div> </div> <div id="box"> <input type="text" id='camera' value="前置摄像头"/> </div>
js代码:
$("#appl_sex").picker({ title: "请选择", cols: [ { textAlign: 'center', values: ["1",'2'] } ], onChange: function(p, v, dv) { console.log(p, v, dv); }, onClose: function(p, v, d) { console.log("close"); } }); $('#appl_sex').change(function () { /*选择设备号后,根据当前设备号设置不同的摄像头选项,具体判断逻辑根据具体的项目而定*/ var val = $("#appl_sex").val(); if (val == "1") { $("#box").empty(); $("#box").html("<input type='text' id='camera' value='前置摄像头'/>"); $("#camera").picker({ title: "请选择摄像头", cols: [ { textAlign: 'center', values: ['前置摄像头'] } ] }); } else { $("#box").empty(); $("#box").html("<input type='text' id='camera' value='前置摄像头'/>"); $("#camera").picker({ title: "请选择摄像头", cols: [ { textAlign: 'center', values: ['前置摄像头', '后置摄像头', '前+后摄像头'] } ] }); } });