JQuery Else条件总是如此

时间:2018-01-12 06:33:59

标签: javascript jquery forms datatable datatables

我在搜索表单中有4个字段,即从日期,到日期,材料和请购单编号。

我希望用户选择任何一个字段进行搜索。但是,如果用户选择日期字段,则应选择日期和日期字段,否则应向用户显示消息。

以下是我的代码:

if(fromdt=='' && todt=='' && matnr=='' && req_no==''){
          scl_show_alert({'msg': 'Please Select atleaset one filter.', 'type': 'warning'});
          return false;

        }
        else if((fromdt!='' && todt=='') || (fromdt=='' && todt!='')){
              scl_show_alert({'msg': 'Please Select Both From Date and To Date.', 'type': 'warning'});
              return false;
        }       
        else{
                //code for showing data
        }

问题在于,即使所有值都为空,部分也会执行。

1 个答案:

答案 0 :(得分:0)

尝试使用if(formdt&& todt&& matnr&& req_no)而不是与空字符串进行比较。这也有助于在它们为null或未定义时检查条件。你应该看看Javascript coerscion。当在if条件中使用时,Javascript将值强制为布尔等效值,因此falsey值将为空string,nulll,undefined和0因此当您使用例如if(fromdt)并且如果fromdt是任何伪值时它将不会进入如果是这样的话。