封装时间控件如下
除了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就会取后面的默认
请问应该怎么修改实现呢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
以这个title为例,当
data-title没有设置的时候,selectContainer.data('title')会返回undefined,因此不能对此进行.split操作。可以改为:
根本就没运行到 || 后面去。
var selectContainer = $(".selectContainer");
selectContainer本身就是一个jQuery实例了,
end: $(selectContainer).data('end') || 0;
这后面居然还把selectContainer 放到 $()里面。
直接selectContainer.data()不好吗?
我用的jQuery 3.2.1, 测试没问题,能取到值; 浏览器是chrome;
