weui中的picker使用js进行动态绑定数据问题

解决方案; 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: [\'前置摄像头\', \'后置摄像头\', \'前+后摄像头\']
          }
       ]
     });
   }
});

ps:weui之Picker的使用教程

这个问题调试了很久,因为调用example.js时没问题,一移开就失效,一度觉得很诡异。

经过多次测试,才发现,是zepto.min.js的次序放错了,应该放到头部。

完整的代码:

<!DOCTYPE html>
<html lang=\"zh-cmn-Hans\">
<head>
  <meta charset=\"UTF-8\">
  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1,user-scalable=0\">
  <title>WeUI</title>
  <link rel=\"stylesheet\" href=\"./weui.css\"/>
 <script src=\"./zepto.min.js\"></script>
</head>
<body ontouchstart>
<div class=\"page\">
  <div class=\"page__bd page__bd_spacing\">
    <a href=\"javascript:;\" class=\"weui-btn weui-btn_default\" id=\"showPicker\">单列选择器</a>
  </div>
</div>
<script type=\"text/javascript\">
  $(\'#showPicker\').on(\'click\', function () {
    weui.picker([{
      label: \'飞机票\',
      value: 0
    }, {
      label: \'火车票\',
      value: 1
    }, {
      label: \'的士票\',
      value: 2
    },{
      label: \'公交票 (disabled)\',
      disabled: true,
      value: 3
    }, {
      label: \'其他\',
      value: 4
    }], {
      onChange: function (result) {
        console.log(result);
      },
      onConfirm: function (result) {
        console.log(result);
      }
    });
  });
</script>
  <script type=\"text/javascript\" src=\"https://res.wx.qq.com/open/js/jweixin-1.0.0.js\"></script>
  <script src=\"./weui.min.js\"></script>
</body>
</html>

以上所述是小编给大家介绍的weui中的picker使用js进行动态绑定数据问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容