正在生成if语句JQuery
Generating if statement JQuery
我有一个数组selected_filters
,我用单击的元素的id填充它。我需要根据这个数组生成一个if
语句。我尝试生成字符串,然后使用eval()
执行它,但没有成功。也许我做错了什么,或者你们有什么想法如何生成声明吗?
语句字符串生成:
var selected_filters = [filter_by_color,filter_by_transmissivity];
$.each(selected_filters, function(k, v){
validate += '($.inArray(t.data(' + v + '),filters_obj[' + v + ']) > -1 || obj_l == emptyFilters) && ';
});
validate += '(search.contains(filters_obj.search) || filters_obj.search.length === 0)';
生成的字符串:($.inArray(t.data(filter_by_color),filters_obj[filter_by_color]) > -1 || obj_l == emptyFilters) && ($.inArray(t.data(filter_by_transmissivity),filters_obj[filter_by_transmissivity]) > -1 || obj_l == emptyFilters) && (search.contains(filters_obj.search) || filters_obj.search.length === 0)
用法:
if(eval(validate)){ //some code }
找到解决方案。更改了逻辑,不再使用eval()
。已将代码更改为:
var visible = true;
$.each(selected_filters, function(k, v){
visible = visible && ($.inArray(t.data(v),filters_obj[v]) > -1 || filters_obj[v].length === 0);
});
visible = visible && (search.contains(filters_obj.search) || filters_obj.search.length === 0);
用法:if(visible){ //some code }
相关文章:
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- jquery if语句返回return wong语句
- jQuery模板中的If语句
- 将语句与jquery相结合,并使用媒体查询来实现返回页首按钮
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- MVC Jquery-按钮点击-获取if语句错误
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- .has() 函数在 if 语句 (jQuery) 中不起作用
- 如何使用if语句jquery对数字进行动画处理
- SyntaxError:缺少;before语句-jQuery ContentHover
- Switch语句jQuery不适用于单选按钮值
- if 语句 (jQuery) 中的两个条件
- 在 if 语句 jquery 中使用此父级
- 语法错误: 缺少 ;在语句 Jquery 之前
- 如何触发if语句jQuery
- 将生成if-else语句jquery的脚本
- 多重选择值if语句jQuery
- 表的最后一个td与if语句- jquery
- 目标条件语句jQuery中提到的单个元素
- 正在生成if语句JQuery