基于EasyUI的TopJUI前端框架之如何动态改变下拉列表框ComboBox输入框的背景颜色

简单记录一下 前段时间接到客户需求:动态改变下拉列表框ComboBox输入框的背景颜色。 刚开始想的很简单在用户选择列表项的时候,判断一下列表框的value值添加相应的背景颜色就OK了,然而在实...

简单记录一下

前段时间接到客户需求:动态改变下拉列表框ComboBox输入框的背景颜色。

刚开始想的很简单在用户选择列表项的时候,判断一下列表框的value值添加相应的背景颜色就OK了,然而在实际操作的时候发现,怎么操作都没有效果,后来检查了一下html结构才知道原来操作的不是显示在页面上的元素,害我浪费了一些时间。

具体代码如下:

第一种:HTML

<div class="topjui-col-sm6">
     <label class="topjui-form-label">性别</label>
     <div class="topjui-input-block">
         <input type="text" name="sex"
             data-toggle="topjui-combobox"
             data-options="data:[{value:1,text:'男'},{value:2,text:'女'}],
             onSelect: function(rec){  //在用户选择列表项的时候触发
                if(rec.value=='男'){
                    this.nextSibling.children[1].style.background='#00FF00'
                 }
                 else{
                      this.nextSibling.children[1].style.background='#FFFF00'
                 }
             }">
     </div>
</div>

  

第二种:js

<input type="text" name="sex"
   data-toggle="topjui-combobox"
   data-options="data:[{value:1,text:'男'},{value:2,text:'女'}],
   onSelect: onSelect">
 
 
 
<script>
   function onSelect(rec){
       if(rec.value=='1'){
           this.nextSibling.children[1].style.background='#00FF00'
       }
       else{
           this.nextSibling.children[1].style.background='#FFFF00'
       }
   }
</script>

  

       我是根据用户选择列表项的value值进行判断,当然也可以根据text值进行判断,具体操作根据实际需求来,是不是特别简单呢。

      上面两种方式显示效果都一样,具体如下:

        效果展示

         

总结:了解topjui组件的内部结构,对症下药。

           TopJUI前端框架:http://www.topjui.com

           TopJUI交流社区:http://ask.topjui.com

  • 发表于 2019-05-24 11:40
  • 阅读 ( 136 )
  • 分类:网络文章

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除