关于selectize,ajax动态获取数据,数据类型转换

有关selectize的一些属性

2、clearOptions():清除select下的option,清除之后就没有任何option可选了

3、addOption():添加option

4、addItem(2):选择value=’2’的option

5、setValue([2, 3]):多选的时候选中value=’2’和’3’的option

情景一、request中包含了页面需要的数据:

  1. <script>  
  2. var options = [];  
  3. <c:forEach items="${areaList}" var="area">  
  4. options.push({  
  5. id : "${area.areaId}",  
  6. title : "${area.name}"  
  7. });  
  8. </c:forEach>  
  9. $('#area).selectize({  
  10.     valueField: 'id',  
  11.     labelField: 'title',  
  12.     searchField: 'title',  
  13.     sortField: 'title',  
  14.     options: options,  
  15.     create: false,  
  16.     dropdownParent : 'body',  
  17. });  
  18. </script>  

情景二、Ajax动态请求数据,根据地域选省会

[javascript]  view plain  copy
  1. <script>  
  2. var eventHandler = function(name) {  
  3.     return function() {  
  4.         console.log(name);  
  5.         getCity();  
  6.     };  
  7. };  
  8. var $area = $('#area).selectize({  
  9.     valueField: 'id',  
  10.     labelField: 'title',  
  11.     searchField: 'title',  
  12.     sortField: 'title',  
  13.     options: [],  
  14.     create: false,  
  15.     dropdownParent : 'body',  
  16. onFocus : eventHandler('onFocus'),  
  17. });  
  18. var control = $area[0].selectize;  
  19. function getCity(){  
  20. var area = $(“#area”).val();  
  21. $.ajax({  
  22.     url: "${basePath}getCity.do",  
  23.     type: "post",  
  24.     dataType: "json",  
  25.     async: false,  
  26.     data: {  
  27.         'area': area  
  28.     },  
  29.     success: function(res) {  
  30. // res是list集合中存放map,map key:cityId,map value:cityName  
  31.         // 重新生成option之前先清除前面生成的option  
  32.         control.clearOptions();  
  33.         for(var i = 0; i < res.length; i++){  
  34.             control.addOption({  
  35.                 id : res[i]["cityId"],  
  36.                 title : res[i]["cityName"],  
  37.             });  
  38.         }  
  39.     },  
  40.     error: function() {  
  41.         alert("error");  
  42.     }  
  43. });  
  44. }  
  45. </script>  

本人因为<c:foreach>标签没有研究明白,没能用成,用以下办法遍历了下

 var options = [];
            if(areaList){
                for(var i = 0;i<areaList.length;i++){
                    var veh = areaList[i];
                    options.push({
                        id : veh.得意先cd,
                        label : veh.得意先名1,
                        bgColor : "bg-danger"
                        });
                }

            }

其间数据类型的转换时:

[{伝票行数=null, 最終更新端末=1,},

 {伝票行数=null, 最終更新端末=null}]

转:

[{"id":"11001","label":"秋葉商事株式会社","bgColor":"bg-success","hiragana":"あきばしょうじ$"},
{"id":"11002","label":"株式会社愛知光商事","bgColor":"bg-success","hiragana":"あいちひかり"}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值