javascript - 通过||设置默认值 出错

查看:86
本文介绍了javascript - 通过||设置默认值 出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

封装时间控件如下

<span size="16" type="text" readonly data-role="date" data-format="yyyy-mm-dd" data-end="0" data-title="开始时间,结束时间" data-value="2017-02-11,2018-02-22" data-names="startDate,endDate"></span>

除了data-role是必须有的其余都是选填的 所以要设置默认值 我这样写的

$("[data-role='date']").addClass('selectContainer')
                    var selectContainer = $(".selectContainer");

                    var options = {
                        dataTitle: selectContainer.data('title').split(",") || ["开始时间", "结束时间"],
                        names: selectContainer.data('names').split(',') || ["startDate", "endDate"],
                        value: selectContainer.data('value').split(',') || ["", ""],
                        end: selectContainer.data('end') || 0
                    }

但是如果我选填的没写就会提示


不应该是前面是undefined或者null就会取后面的默认

请问应该怎么修改实现呢

解决方案

selectContainer.data('title').split(",") || ["开始时间", "结束时间"]

以这个title为例,当data-title没有设置的时候,selectContainer.data('title')会返回undefined,因此不能对此进行.split操作。

可以改为:

(selectContainer.data('title') || "开始时间,结束时间").split(",")

这篇关于javascript - 通过||设置默认值 出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆