easyui动态修改required

经常使用easyui,对于基本的使用还算了解,经常有这样的需要,需要动态的修改required,也就是在某些情况下required是true,有些情况下required是false,之前使用的方法主要有两种:

一种是构造函数方法,重新构造一个

 $("#" +id).combobox({required:false});
  $("#" +id).combobox({required:true});

后来发现这种在一些很奇怪的情况下会出现一些很奇怪的现象,当然发生的概率比较低,具体原因不明

第二种就是复制属性,再重新构造

    ///取原组件属性
    var _options = $("#" +id).combobox("options");
//设置必填
    _options.required = isRequired;
//重新渲染组件
    $("#" +id).combobox(_options);

但在测试时也会发生很奇怪的现象,例如,导致对象的options的部分属性丢失

于是没有办法只能在网上找答案,但大部分都是人云亦云,没有经过大量测试。

后来终于在官网论坛上到找了相关回复

function iCheckChange(aChecked){
  $('#iCombo').combobox(aChecked?'enable':'disable');
  $('#iCombo').combobox('options').required = aChecked;
  $('#iCombo').combobox('textbox').validatebox('options').required = aChecked;
  $('#iCombo').combobox('validate');
};

经过测试是可用的

下拉框

$("#" +id).combobox('options').required = isRequired;
  $("#" +id).combobox('textbox').validatebox('options').required = isRequired;
  $("#" +id).combobox('validate');

日期

 $("#" +id).datebox('options').required = isRequired;
  $("#" +id).datebox('textbox').validatebox('options').required = isRequired;
  $("#" +id).datebox('validate');

单行输入

 $("#" +id).validatebox('options').required = isRequired;
  $("#" +id).validatebox('validate');

时间输入

$("#" +id).timespinner('options').required = isRequired;
  $("#" +id).timespinner().validatebox('options').required = isRequired;
  $("#" +id).timespinner('validate');

数值输入

 $("#" +id).numberbox('options').required = isRequired;
  $("#" +id).numberbox().validatebox('options').required = isRequired;
  $("#" +id).numberbox('validate');

dynamically change option 'required'

switch on and off combobox required [Solved]

change value Max in data-options="max : 3"; in numberbox during onchange event

how to change the required options

required radiobuttons in a form

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值