首页 > 代码库 > EasyUI combobox 与 numberbox 属性不可编辑与设置值的使用

EasyUI combobox 与 numberbox 属性不可编辑与设置值的使用

今天工作中EasyUI 页面用到的知识点,总结一下:

如下图:

   技术分享

 

 需求: 设置考核价为不可编辑状态,包括考核价的交易币种符号合考核价的金额

        考核价的币种和金额从合同价和考核费率数据中获取

        考核价的币种同合同价币种一样,考核价金额=合同价金额*考核费率 

 

 

通过设置disabled属性为true设置考核价币种下拉列表 和  考核价金额文本框 为不可编辑状态

设置考核价币种下拉列表不可编辑:

<select id="asseCurrencyID" name="asseCurrency" class="ipt easyui-xcombobox" style="width: 40px;"
data-options="dataDict:dataDict,field:‘currency‘,value:‘${(baseInfo.contCurrency)!‘rmb‘ }‘,disabled:true">

设置考核价金额文本框不可编辑:

<input id="jsAssePrice" value="http://www.mamicode.com/${(baseInfo.assePrice)!‘‘}" prompt="已签订需填写考核价" name="assePrice"

type="text" class="ipt easyui-numberbox" style="width: 110px;"

data-options="min:0,precision:2,required:true,missingMessage:‘考核价不能为空‘"  disabled=‘disabled‘ />万元

 

 

通过设置合同价币种下拉列表的改变,设置考核价币种的改变:

   设置合同价币种下拉列表改变事件:

  <select id="contractCoin" class="ipt easyui-xcombobox" 

 data-options="required:true,dataDict:dataDict,field:‘currency‘,value:‘${(baseInfo.contCurrency)!‘rmb‘}‘,

onChange:contractChange" style="width: 40px;">

 

合同价下拉列表改变事件修改考核价下拉列表的值:(js代码如下)

  contractChange:function(newValue,oldValue){

         setTimeout(function(){

                  $("#asseCurrencyID").combobox("setValue",newValue);

         }, 300);

    }

PS: 此处修改的时候可能页面未加载完,无法获取到考核价的id,使用setTimeout延迟设置考核价币种的值

 

 

通过设置合同价金额文本框的改变,设置考核价金额的改变:

  设置合同价金额文本框改变事件:

合同价金额文本框页面代码:

<input id="contPrice" name="contPrice" value="http://www.mamicode.com/${(baseInfo.contPrice)!‘‘}"  type="text" class="ipt

easyui-numberbox" data-options="min:0,precision:2,required:true,missingMessage:‘合同价不能为空‘"/>万元

    合同价金额改变的js事件:

      $(‘#contPrice‘).numberbox({

              onChange:function(newValue,oldValue){ 

                                              countAssePrice();

                                              }

      });

     

 

通过设置考核费率文本框的改变,设置考核价金额的改变:

考核费率文本框页面代码:

 <input id="jsAsseRate" value="http://www.mamicode.com/${(baseInfo.asseRate)!‘‘}" name="asseRate" type="text" class="ipt

easyui-numberbox" style="width: 110px;" data-options="min:0,precision:2,required:true,missingMessage:‘考核费率不能为空‘"/>

考核费率文本框改变的js事件:

$(‘#jsAsseRate‘).numberbox({

              onChange:function(newValue,oldValue){ 

                                              countAssePrice();

                                              }

         });

 

 

         //计算考核价方法

      function countAssePrice(){

            //设置考核价=合同价*考核费率

              var _contPrice= $(‘#contPrice‘).val();

              var _jsAsseRate= $(‘#jsAsseRate‘).val();

              var _jsAssePrice =_contPrice * _jsAsseRate/100;

              $(‘#jsAssePrice‘).numberbox("setValue",_jsAssePrice);

      }

 

EasyUI combobox 与 numberbox 属性不可编辑与设置值的使用