通过||设置默认值 出错

封装时间控件如下

<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

                    }

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

https://img3.mukewang.com/5c089342000132d904230033.jpg

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

请问应该怎么修改实现呢


慕尼黑8549860
浏览 445回答 1
1回答

倚天杖

selectContainer.data('title').split(",")&nbsp;||&nbsp;["开始时间",&nbsp;"结束时间"]以这个title为例,当data-title没有设置的时候,selectContainer.data('title')会返回undefined,因此不能对此进行.split操作。可以改为:(selectContainer.data('title')&nbsp;||&nbsp;"开始时间,结束时间").split(",")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript