【JavaScript+JinJa2】表格中将后台传入的None值显示为空字符串,将数据显示为int类型值

目的

需要将数据库中取出的值进行前台展示。

为了使用easyui拓展中的排序功能,需要把表格中的值显示为int类型,但是如果是空字符串的话,转换为int会报错。如果全部转换为str的话,排序会出问题(会按照字符排序而非数值大小)

解决方式:进行一下逻辑判断。如果是None,则转换为空字符串'',如果有值,则取其值(使用JinJa模板的{{ param }}获取后端传来的值)。


部分js代码示例
<script>
        $(document).ready(function() {
        var zNodes = [];
        var i=0;
        {% for node in result %}
            i++;
            var obj = new Object();
            obj.id = i;
            obj.p_code ='{{ node.p_code }}';
            obj.jan_mar_5_max ='{{ node.jan_mar_5_max }}'=='None'?'':{{ node.jan_mar_5_max }}; // 如果有值,填入int型值;如果无值,填入空字符串
            obj.jan_mar_5_min ='{{ node.jan_mar_5_min }}'=='None'?'':{{ node.jan_mar_5_min }};
            obj.mar_sep_5_max ='{{ node.mar_sep_5_max }}'=='None'?'':{{ node.mar_sep_5_max }};
            obj.mar_sep_5_min ='{{ node.mar_sep_5_min }}'=='None'?'':{{ node.mar_sep_5_min }};
            obj.jan_sep_5_max ='{{ node.jan_sep_5_max }}'=='None'?'':{{ node.jan_sep_5_max }};
            obj.jan_sep_5_min ='{{ node.jan_sep_5_min }}'=='None'?'':{{ node.jan_sep_5_min }};
            obj.mar_jan_5_max ='{{ node.mar_jan_5_max }}'=='None'?'':{{ node.mar_jan_5_max }};
            obj.mar_jan_5_min ='{{ node.mar_jan_5_min }}'=='None'?'':{{ node.mar_jan_5_min }};
            obj.sep_jan_5_max ='{{ node.sep_jan_5_max }}'=='None'?'':{{ node.sep_jan_5_max }};
            obj.sep_jan_5_min ='{{ node.sep_jan_5_min }}'=='None'?'':{{ node.sep_jan_5_min }};
            obj.sep_mar_5_max ='{{ node.sep_mar_5_max }}'=='None'?'':{{ node.sep_mar_5_max }};
            obj.sep_mar_5_min ='{{ node.sep_mar_5_min }}'=='None'?'':{{ node.sep_mar_5_min }};
            obj.jan_mar_his_max ='{{ node.jan_mar_his_max }}'=='None'?'':{{ node.jan_mar_his_max }};
            obj.jan_mar_his_min ='{{ node.jan_mar_his_min }}'=='None'?'':{{ node.jan_mar_his_min }};
            obj.mar_sep_his_max ='{{ node.mar_sep_his_max }}'=='None'?'':{{ node.mar_sep_his_max }};
            obj.mar_sep_his_min ='{{ node.mar_sep_his_min }}'=='None'?'':{{ node.mar_sep_his_min }};
            obj.jan_sep_his_max ='{{ node.jan_sep_his_max }}'=='None'?'':{{ node.jan_sep_his_max }};
            obj.jan_sep_his_min ='{{ node.jan_sep_his_min }}'=='None'?'':{{ node.jan_sep_his_min }};
            obj.mar_jan_his_max ='{{ node.mar_jan_his_max }}'=='None'?'':{{ node.mar_jan_his_max }};
            obj.mar_jan_his_min ='{{ node.mar_jan_his_min }}'=='None'?'':{{ node.mar_jan_his_min }};
            obj.sep_jan_his_max ='{{ node.sep_jan_his_max }}'=='None'?'':{{ node.sep_jan_his_max }};
            obj.sep_jan_his_min ='{{ node.sep_jan_his_min }}'=='None'?'':{{ node.sep_jan_his_min }};
            obj.sep_mar_his_max ='{{ node.sep_mar_his_max }}'=='None'?'':{{ node.sep_mar_his_max }};
            obj.sep_mar_his_min ='{{ node.sep_mar_his_min }}'=='None'?'':{{ node.sep_mar_his_min }};
            obj.cur_jan_mar ='{{ node.cur_jan_mar }}'=='None'?'':{{ node.cur_jan_mar }};
            obj.cur_mar_sep ='{{ node.cur_mar_sep }}'=='None'?'':{{ node.cur_mar_sep }};
            obj.cur_jan_sep ='{{ node.cur_jan_sep }}'=='None'?'':{{ node.cur_jan_sep }};
            obj.cur_mar_jan ='{{ node.cur_mar_jan }}'=='None'?'':{{ node.cur_mar_jan }};
            obj.cur_sep_jan ='{{ node.cur_sep_jan }}'=='None'?'':{{ node.cur_sep_jan }};
            obj.cur_sep_mar ='{{ node.cur_sep_mar }}'=='None'?'':{{ node.cur_sep_mar }};
          
            var jan_mar_5_space = (100*(obj.cur_jan_mar-obj.jan_mar_5_min)/(obj.jan_mar_5_max-obj.jan_mar_5_min)).toFixed(0);
            obj.jan_mar_5_space = isNaN(jan_mar_5_space)?'':jan_mar_5_space;

            var mar_sep_5_space = (100*(obj.cur_mar_sep-obj.mar_sep_5_min)/(obj.mar_sep_5_max-obj.mar_sep_5_min)).toFixed(0);
            obj.mar_sep_5_space = isNaN(mar_sep_5_space)?'':mar_sep_5_space;

            var jan_sep_5_space = (100*(obj.cur_jan_sep-obj.jan_sep_5_min)/(obj.jan_sep_5_max-obj.jan_sep_5_min)).toFixed(0);
            obj.jan_sep_5_space = isNaN(jan_sep_5_space)?'':jan_sep_5_space;

            var mar_jan_5_space = (100*(obj.cur_mar_jan-obj.mar_jan_5_min)/(obj.mar_jan_5_max-obj.mar_jan_5_min)).toFixed(0);
            obj.mar_jan_5_space = isNaN(mar_jan_5_space)?'':mar_jan_5_space;

            var sep_jan_5_space = (100*(obj.cur_sep_jan-obj.sep_jan_5_min)/(obj.sep_jan_5_max-obj.sep_jan_5_min)).toFixed(0);
            obj.sep_jan_5_space = isNaN(sep_jan_5_space)?'':sep_jan_5_space;

            var sep_mar_5_space = (100*(obj.cur_sep_mar-obj.sep_mar_5_min)/(obj.sep_mar_5_max-obj.sep_mar_5_min)).toFixed(0);
            obj.sep_mar_5_space = isNaN(sep_mar_5_space)?'':sep_mar_5_space;

            var jan_mar_his_space = (100*(obj.cur_jan_mar-obj.jan_mar_his_min)/(obj.jan_mar_his_max-obj.jan_mar_his_min)).toFixed(0);
            obj.jan_mar_his_space = isNaN(jan_mar_his_space)?'':jan_mar_his_space;

            var mar_sep_his_space = (100*(obj.cur_mar_sep-obj.mar_sep_his_min)/(obj.mar_sep_his_max-obj.mar_sep_his_min)).toFixed(0);
            obj.mar_sep_his_space = isNaN(mar_sep_his_space)?'':mar_sep_his_space;

            var jan_sep_his_space = (100*(obj.cur_jan_sep-obj.jan_sep_his_min)/(obj.jan_sep_his_max-obj.jan_sep_his_min)).toFixed(0);
            obj.jan_sep_his_space = isNaN(jan_sep_his_space)?'':jan_sep_his_space;

            var mar_jan_his_space = (100*(obj.cur_mar_jan-obj.mar_jan_his_min)/(obj.mar_jan_his_max-obj.mar_jan_his_min)).toFixed(0);
            obj.mar_jan_his_space = isNaN(mar_jan_his_space)?'':mar_jan_his_space;

            var sep_jan_his_space = (100*(obj.cur_sep_jan-obj.sep_jan_his_min)/(obj.sep_jan_his_max-obj.sep_jan_his_min)).toFixed(0);
            obj.sep_jan_his_space = isNaN(sep_jan_his_space)?'':sep_jan_his_space;

            var sep_mar_his_space = (100*(obj.cur_sep_mar-obj.sep_mar_his_min)/(obj.sep_mar_his_max-obj.sep_mar_his_min)).toFixed(0);
            obj.sep_mar_his_space = isNaN(sep_mar_his_space)?'':sep_mar_his_space;

            obj.upstream_date = '{{ node.upstream_date }}';
            zNodes.push(obj);
        {% endfor %}

        function resolve() {
            console.log(zNodes);
            return zNodes;
        }

			$('#dg').datagrid({
				filterBtnIconCls:'icon-filter',
                data:resolve(),
                striped: true //隔行变色
			});
        })

	</script>

easyui表格展示

可以看到空值(空字符串)也参与了排序。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值