今天碰到一个问题,在js比较两个数值的大小,按照正常的逻辑写死活都不起作用。
有问题的代码如下:
function chkNum(){ var appcount = $("#appcount").val(); var intencount = $("#intencount").val(); var unemployment = $("#unemployment").val(); if(appcount == null || appcount == ""){ alert("应聘人数不能为空!"); return false; } if(intencount == null || intencount == ""){ alert("初步达成录用人数不能为空!"); return false; } if(intencount < appcount ){ alert("初步达成录用人数应小于企业应聘人数!"); $("#intencount").val(""); return false; } if(unemployment > appcount){ alert("其中失业人数应小于企业应聘人数!"); $("#unemployment").val(""); return false; } };
这个问题纠结了好久,上网查了下js居然有个eval函数
eval函数定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
修改后的代码
function chkNum(){ var appcount = $("#appcount").val(); var intencount = $("#intencount").val(); var unemployment = $("#unemployment").val(); if(appcount == null || appcount == ""){ alert("应聘人数不能为空!"); return false; } if(intencount == null || intencount == ""){ alert("初步达成录用人数不能为空!"); return false; } if(eval(intencount) > eval(appcount) ){ alert("初步达成录用人数应小于企业应聘人数!"); $("#intencount").val(""); return false; } if( eval(unemployment) > eval(appcount)){ alert("其中失业人数应小于企业应聘人数!"); $("#unemployment").val(""); return false; } };