easy-ui 中combobox是一个很常用的组件,那么他有一个不有好的现象,比如页面有一个栏位是否必填,如果选择是另一个栏位比如内容栏位它是一个combobox如下:
<tr>
<td class="td_r bg2">是否列入计划:</td>
<td class="td_wid">
<input class="input plui-validatebox" name="add_plan" id="add_plan" data-options="validType:'maxLength[4]',charLenForCH:2,tipPosition : 'left'" />
</td>
<td class="td_r bg2"><span id="njgyspan" style="display: none;color:red;">*</span>工程进展/是否拆除:</td>
<td class="td_wid">
<input class="input" name="jgysjd" id="jgysjd" data-options="validType:'maxLength[30]',charLenForCH:2,tipPosition : 'left'" />
<span id="jgyssj_span"><input class="input plui-validatebox" name="jgyssj" id="jgyssj" style="width:23%"/></span>
</td>
</tr>
在进行保存动作时我们需要对是否列入计划做判断,如果选择是则工程进展需要必填校验,如果否则不进行校验,开始使用combobox属性required,但是有一个bug在我们设置false时组件会初始化,把之前数据清理掉,于是换了一种思路:
function isRequired(){
var flag = true;
var addPlan = $("#add_plan").combobox('getValue');
var jgysjd =$("#jgysjd").combobox('getValue');
var nd=$("#nd").calendarbox('getValue');
var nd_district=$("#nd_district").calendarbox('getValue');
var nd_other=$("#nd_other").calendarbox('getValue');
if("是" == addPlan){
if(jgysjd == "" || jgysjd == null || jgysjd == undefined){
$.messager.alert('温馨提示','治理工程进展/是否拆除不能为空!','info');
flag = false;
}
if(flag){
if((nd == "" || nd == null || nd == undefined) || (nd_district == "" || nd_district == null || nd_district == undefined) || (nd_other == "" || nd_other == null || nd_other == undefined)){
$.messager.alert('温馨提示','纳入年度防治方案不能为空!','info');
flag = false;
}
}
}
return flag;
}
保存之前调用此方法判断,效果一样,如果各位大神有什么好的处理方式,请留言!谢谢