微信开发 select选择框

最近在该企业微信的功能,要做一个微信界面,要使用select来做下拉选择框

部分前台HTML代码:

在选择分享组的时候,要从后台查询数据来做选择项

 1 <form:form id="imgForm" modelAttribute="uploadImg" action="${oauthPath}/img/${agentKey}/submit" method="post">
 2         <input id="imgs" name="imgs" type="hidden" />
 3         <input id="deletes" name="deletes" type="hidden" />
 4         <form:hidden path="id"/>
 5         <div class="weui_cells weui_cells_form" style="margin-top: 10px;">
 6             <div class="weui_cell">
 7                 <div class="weui_cell_bd weui_cell_primary">
 8                     <form:input path="title" htmlEscape="false" class="weui_input" placeholder="请输入标题" />
 9                 </div>
10             </div>
11         </div>
12
13         <div class="weui_cells_title">图片</div>
14         <div id="imgDiv">
15             <div id="add" class="imgBtn">
16                 <div>&nbsp;</div>
17             </div>
18             <div id="remove" class="imgBtn">
19                 <div>&nbsp;</div>
20             </div>
21         </div>
22
23         <%-- <div class="weui_cells_title">分享</div>
24         <div id="userSelectDiv" class="weui-row">
25             <div class="weui-col-80">
26                 <form:textarea  path="shareUserNames" readonly="readonly"  htmlEscape="false" class="weui_textarea"/>
27                 <form:hidden path="shareUserIds"   htmlEscape="false" class="required"/>
28             </div>
29             <div class="weui-col-20">
30                 <span id="openEnterpriseContact_invoke" >
31                     <i class="fa fa-user-plus"></i>
32                 </span>
33             </div>
34         </div> --%>
35
36         <div class="weui_cells_title">分享组</div>
37         <div id="userSelectDiv" class="weui_cells weui_cells_form">
38             <!-- 第一种 -->
39             <!-- <div class="weui_cell weui_cell_select weui-col-80">
40                 <div class="weui_cell_bd weui_cell_primary">
41                     <select class="weui_select" id="selectShareUserGroup">
42                     </select>
43                 </div>
44             </div>  -->
45             <!-- 第二种 -->
46             <div class="weui-cell">
47                 <div class="weui-cell_hd "></div>
48                 <div class="weui-cell_bd">
49                     <!-- <input class="weui-input" id="in" type="text" value=""> -->
50                     <input id="selectShareUserGroup" htmlEscape="false" class="weui_input" placeholder="点击选择分享组" />
51                 </div>
52               </div>
53
54               <!-- 分享组的用户 -->
55               <div >
56                 <form:hidden path="shareUserIds" htmlEscape="false" class="required"/><br>
57                 <form:textarea  path="shareUserNames" readonly="readonly"  htmlEscape="false" class="weui_textarea" placeholder="显示分享组的用户"/>
58             </div>
59         </div>
60         <div class="btnDiv" >
61             <button class="weui_btn weui_btn_primary" id="save">保存</button>
62         </div>
63     </form:form>

相关JS代码

 1 <script type="text/javascript">
 2         $().ready(function(){
 3             //分享组用户不可编辑
 4             document.getElementById("shareUserNames").readOnly=true;
 5
 6
 7             //select选项
 8             var selectItems = [];
 9
10             //下拉框配置
11             var selectConfig = {
12                     title: "分享组列表",
13                     items: selectItems,
14                     beforeClose: function(values, titles) {
15                       /* if(values.indexOf("6") !== -1) {
16                         $.toast("不能选睡觉", "cancel");
17                         return false;
18                       }
19                       return true; */
20                     },
21                     onChange: function(data) {//选中触发事件
22                           //调试:http://jqweui.com/dist/demos/select.html
23                           //console.log(this, d);
24                           /* for(var i in data.origins){
25                               alert(data.origins[i].checked);//选中的选项值
26                               alert(data.origins[i].value);//选中的选项值
27                               alert(data.origins[i].title);//选中的选项值
28                               alert(data.origins[i].description);//选中的选项值
29                           } */
30                     },
31                     onClose: function (data) {
32                           var userIds,userNames;
33
34                           var selectedOption = data.data;
35                           for(var i in selectedOption.origins){
36                               //console.log(selectedOption.origins[i].checked);//选中的选项值
37
38                               var userId = selectedOption.origins[i].value;
39                               var userName = selectedOption.origins[i].description;
40                               /* alert(userIds);//选中的选项值
41                               alert(selectedOption.origins[i].title);//选中的选项值
42                               alert(userNums);//选中的选项值 */
43
44                               userIds = userId;
45                               userNames = userName;
46                           }
47
48                           document.getElementById("shareUserNames").readOnly=false;
49                           //回填
50                           $("#shareUserNames").val(userNames);
51                           $("#shareUserIds").val(userIds);
52
53                           document.getElementById("shareUserNames").readOnly=true;
54                           changeBtn();
55                     }
56             };
57
58
59             //ajax远程加载初始化分享组下拉框选项
60             $.ajax({
61                 url: "${oauthPath}/img/${agentKey}/getUploadShareList",    //后台webservice里的方法名称
62                 type: "post",
63                 dataType: "json",
64                 contentType: "application/json",
65                 traditional: true,
66                 success: function (data) {
67                     var optionstring = "";
68                     for (var i in data) {
69                         var jsonObj =data[i];
70                         //alert(jsonObj.name + "--" + jsonObj.userNums + "--" + jsonObj.userNames);
71                         //var title = jsonObj.userNames;
72                         //optionstring += "<option value=\"" + jsonObj.userNums + "\" title=\"" + jsonObj.userNames + "\">" + jsonObj.name + "</option>";
73                         //alert(optionstring);
74                         //alert(tempObj.title + tempObj.value);
75
76                         //创建json对象
77                         var option = {"title":jsonObj.name,"value":jsonObj.userNums,"description":jsonObj.userNames};
78                         selectItems.push(option);
79                     }
80                     //alert(selectConfig.items.length);
81
82                     //初始化
83                     $("#selectShareUserGroup").select(selectConfig);
84                 },
85                 error: function (msg) {
86                     alert("出错了!");
87                 }
88             });
89         });
90
91         /* $("#selectShareUserGroup").change(function(){
92             //alert("dfgdf");
93             //$("#selectShareUserGroup").select("open");
94         }); */
95
96     </script>

要点:

  1.配置要初始化

  2.config最好独立出来,方便查看

  3.一定要在使用前初始化,切记切记

  4.参考内容地址:http://jqweui.com/extends  搜索select

微信效果:

参考资料:http://jqweui.com/dist/demos/select.html

调试:在pc浏览器查看选中的对象来调试的地址:http://jqweui.com/dist/demos/select.html或者在下载的demo上调试  jquery-weui-build\dist\demos\select.html

时间: 2024-10-12 17:36:40

微信开发 select选择框的相关文章

Android较低版本(&lt;5.2) 页面默认Select选择框效果的BUG解决

Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: 期望达到的效果: 解决方案: 判断是否是微信环境: function isWeixinBrowser(){ return /micromessenger/.test(navigator.userAgent.toLowerCase()); } 判断安卓版号: var userAgent = navigato

AngularJS初始化Select选择框

body { background: #f4f4f4 } .title { width: 100%; background: #5cb85c; padding: 5px; font-size: 20px; margin: 5px } 一.引入 之前一个离职的同事负责的项目大量的引入了AngularJS的JS框架,后来我接手相关他项目里的功能.由于对AngularJS不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就是如何创建并初始化一个Select选择框.最近我又研究了一下Ang

select选择框在谷歌火狐和IE样式的不同

select选择在不同浏览器不同的显示样式, 在IE中 虽然默认和谷歌一样,但是当点击时向下 按钮消失, 解决方法如下: select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/ appearance:none; -moz-appearance:none; -webkit-appearance:none; /*在选择框的最右侧中间显示小箭头图片*/ backgro

类似 select 选择框效果及美化

网上有各种各样的关于 select 选择框的美化,找了很多,并没有好的样式效果.所以就找了一个利用 ul li 做的类似 select 选择框的效果,不废话了,先上图,效果如下: 对于上图的箭头效果,可以看看我上篇博客 点击这里 点击一个 test ,就会把列表显示出来,再次点击,列表隐藏,选择一个 li ,就会把 span 里的内容替换成 li 的内容,然后可以用 js 监控 span 的变化,然后执行你的代码.效果如下: html 代码如下: <div id="type" c

AngularJS Select(选择框)

AngularJS 可以使用数组或对象创建一个下拉列表选项. 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angula

jquery模拟select选择框

直接贴代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模拟select框</title> <style> * { margin: 0; padding: 0; } body { font-family: 微软雅黑; } ul, ul li { list-style: none; } #

js原生代码给select选择框实现onchange事件

<select name="limit" onchange="selectStages()"> //绑定onchange事件 <option>请选择期限</option> {loop $limit $item} <option value="{$item}">{$item}</option> {/loop} </select> function selectStages(){

select选择框三级联动

<script language="javascript"> var selItm = new Array(4), selItemr = new Array(4),i,j; for ( i=0; i<4; i++){ selItm[i] = new Array(); selItemr[i] = new Array(); } selItm[0][0] = new Option("请选择", " "); //定义基本选项 selIt

【css2、css3】css改变select选择框的样式

效果: 代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <title>Document</title> 6 <style type="text/css"> 7 /* 去掉默认样式,设置新的样式 */ 8 .select-style{ 9 position: