解決方案; 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: ['前置攝像頭', '后置攝像頭', '前+后攝像頭']
}
]
});
}
});
