目标:
使用输入字段中的拆分年 - 月 - 日创建动态刷新输出。
说明
不要注意第40行注释上方CodePen的任何代码;
我得到了一个输入。每当用户使用初始化的datepicker选择日期时,输入将获得data-date
格式为YYYY-mm-dd
的属性。好的,完美的。
我想根据此data-date
属性为div创建输出。
所以我写了下面的代码:
function summaryOutput() {
var output = $( '#output' );
var end = $( '#end' );
end.on('change', function() {
var endString = end.attr('data-date');
var endSplit = endString.split('-');
var year = endSplit[0];
var month = endSplit[1];
var day = endSplit[2];
output.text(year);
});
}
这很简单。
未在codepen中调用此函数
调用它并尝试选择日期并查看错误:
Uncaught TypeError: Cannot read property 'split' of undefined
而且,data-date
属性不再适用。
更令人困惑的是,它在控制台中运行。我的意思是,如果你在datepicker中选择一个日期,然后逐步初始化所有变量,然后,例如,看看month
变量中的内容,你就会得到结果。
但它不再适用于真实文件。
所以,我错在哪里?
答案 0 :(得分:2)
您需要在输入标记中添加data-date属性。
将输入标记更改为:
<input type="text" id="end" data-date="">