继续求助这个js,需要有默认标准内容如何处理!!!

gdxinge888 2018-08-24 04:13:17
这个js代码默认是显示日历列表出来,然后可以手动对某个日期进行标注内容。
我想实现它默认在2018年8月20日有标注“内容1”,然后在2018年8月21日默认标注“内容2”。
需要在js里如何加这句默认有标注的执行代码。。。。。

<script>


layui.use(['layer', 'form','jquery','laydate'], function() {
var layer = layui.layer,
$ = layui.jquery,
laydate = layui.laydate,
form = layui.form;




//定义json
var data={};

var new_date = new Date();
loding_date(new_date ,data);


//日历插件调用方法
function loding_date(date_value,data){

laydate.render({
elem: '#test-n2'
,type: 'date'
,theme: 'grid'
,max: '2099-06-16 23:59:59'
,position: 'static'
,range: false
,value:date_value
,calendar: true
,btns:false
,done: function(value, date, endDate){
console.log(value); //得到日期生成的值,如:2017-08-18
console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
//layer.msg(value)

//调用弹出层方法
date_chose(value,data);

}
, mark:data//重要json!

});
}



//获取隐藏的弹出层内容
var date_choebox = $('.date_box').html();

//定义弹出层方法
function date_chose(obj_date,data){
var index = layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title:'添加记录',
area: ['400px', 'auto'], //宽高
btn:['确定','撤销','取消'],
content: '<div class="text_box">'+
'<form class="layui-form" action="">'+
'<div class="layui-form-item layui-form-text">'+
' <textarea id="text_book" placeholder="请输入内容" class="layui-textarea"></textarea>'+
'</div>'+
'</form>'+
'</div>'
,success:function(){
$('#text_book').val(data[obj_date])

}



,yes:function (){
//调用添加/编辑标注方法
if($('#text_book').val()!=''){
//alert(obj_date);
//alert(data);
chose_moban(obj_date,data);

layer.close(index);
}else{
layer.msg('不能为空', {icon: 2});
}

},btn2:function (){
chexiao(obj_date,data);
}
});
}





//定义添加/编辑标注方法
function chose_moban(obj_date,markJson){
//获取弹出层val
var chose_moban_val = $('#text_book').val();

$('#test-n2').html('');//重要!由于插件是嵌套指定容器,再次调用前需要清空原日历控件
//添加属性
markJson[obj_date] = chose_moban_val;
console.log(JSON.stringify(markJson));

//再次调用日历控件,
loding_date(obj_date,markJson);//重要!,再标注一个日期后会刷新当前日期变为初始值,所以必须调用当前选定日期。

}


//撤销选择
function chexiao(obj_date,markJson){
//删除指定日期标注
delete markJson[obj_date];
console.log(JSON.stringify(markJson));
//原理同添加一致
$('#test-n2').html('');
loding_date(obj_date,markJson);

}




});</script>
...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lg泪光 2018-08-29
  • 打赏
  • 举报
回复
引用 7 楼 qq_38604499 的回复:
[quote=引用 6 楼 liandudai0492 的回复:]
[quote=引用 5 楼 qq_38604499 的回复:]
....对啊,,你不都写了mark:data么。。怎么会没有。。。你直接
var  data={'2018-08-28':'我'};


要加在哪里?是不是直接加 var data={'2018-08-28':'我'}; 这句?
我怎么测试了。。。一直不行。。。我是新手,麻烦了[/quote]

14行的时候,你不是定义过一个data数据么,并且在43行的时候,mark:data了,所以你在14行的时候,把数据直接写上去就好了。[/quote]

layui.use(['layer', 'form','jquery','laydate'], function() {
var layer = layui.layer,
$ = layui.jquery,
laydate = layui.laydate,
form = layui.form;



//定义json //就改了这里哦
var data={'2018-01-01':'内容1','2018-01-02':'内容2'}
var datetime='2018-08-29'
if(data[datetime]==null){
data[datetime]='内容3'
}

var new_date = new Date();
loding_date(new_date ,data);


//日历插件调用方法
function loding_date(date_value,data){

laydate.render({
elem: '#test-n2'
,type: 'date'
,theme: 'grid'
,max: '2099-06-16 23:59:59'
,position: 'static'
,range: false
,value:date_value
,calendar: true
,btns:false
,done: function(value, date, endDate){
console.log(value); //得到日期生成的值,如:2017-08-18
console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
//layer.msg(value)

//调用弹出层方法
date_chose(value,data);

}
, mark:data//重要json!

});
}



//获取隐藏的弹出层内容
var date_choebox = $('.date_box').html();

//定义弹出层方法
function date_chose(obj_date,data){
var index = layer.open({
type: 1,
skin: 'layui-layer-rim', //加上边框
title:'添加记录',
area: ['400px', 'auto'], //宽高
btn:['确定','撤销','取消'],
content: '<div class="text_box">'+
'<form class="layui-form" action="">'+
'<div class="layui-form-item layui-form-text">'+
' <textarea id="text_book" placeholder="请输入内容" class="layui-textarea"></textarea>'+
'</div>'+
'</form>'+
'</div>'
,success:function(){
$('#text_book').val(data[obj_date])

}



,yes:function (){
//调用添加/编辑标注方法
if($('#text_book').val()!=''){
//alert(obj_date);
//alert(data);
chose_moban(obj_date,data);

layer.close(index);
}else{
layer.msg('不能为空', {icon: 2});
}

},btn2:function (){
chexiao(obj_date,data);
}
});
}





//定义添加/编辑标注方法
function chose_moban(obj_date,markJson){
//获取弹出层val
var chose_moban_val = $('#text_book').val();

$('#test-n2').html('');//重要!由于插件是嵌套指定容器,再次调用前需要清空原日历控件
//添加属性
markJson[obj_date] = chose_moban_val;
console.log(JSON.stringify(markJson));

//再次调用日历控件,
loding_date(obj_date,markJson);//重要!,再标注一个日期后会刷新当前日期变为初始值,所以必须调用当前选定日期。

}


//撤销选择
function chexiao(obj_date,markJson){
//删除指定日期标注
delete markJson[obj_date];
console.log(JSON.stringify(markJson));
//原理同添加一致
$('#test-n2').html('');
loding_date(obj_date,markJson);

}


});
Lg泪光 2018-08-29
  • 打赏
  • 举报
回复
引用 6 楼 liandudai0492 的回复:
[quote=引用 5 楼 qq_38604499 的回复:]
....对啊,,你不都写了mark:data么。。怎么会没有。。。你直接
var  data={'2018-08-28':'我'};


要加在哪里?是不是直接加 var data={'2018-08-28':'我'}; 这句?
我怎么测试了。。。一直不行。。。我是新手,麻烦了[/quote]

14行的时候,你不是定义过一个data数据么,并且在43行的时候,mark:data了,所以你在14行的时候,把数据直接写上去就好了。
gdxinge888 2018-08-28
  • 打赏
  • 举报
回复
引用 3 楼 qq_38604499 的回复:
[quote=引用 2 楼 qq_38604499 的回复:]
不是很懂你意思。。不过不能用循环,将日期做为name值做一个json数组,到时候取值的时候直接调用json[date]的值(不是直接返回了日期值么),不行么?

说错了啊。是json数据,不是数组。。
var data={'2018-01-01':'内容1','2018-01-02':'内容2'}
var datetime='2018-01-03'
if(data[datetime]==null){
data[datetime]='内容3'
}
console.log(data['2018-01-01']) //内容1
console.log(data['2018-01-02']) //内容2
console.log(data[datetime]) //内容3
[/quote]

你好,我用你这个代码放进去,也没有默认标注值的内容哦。
我想实现的就是,你把我的js代码拿去测试一下,就是每个日期点击后可以写一个备注内容,所以我就是要实现,一打开页面,在某个日期里可以默认有备注内容,就是打开默认可以有。例如我要2018-08-28打开的默认标注是:内容123
Lg泪光 2018-08-28
  • 打赏
  • 举报
回复
....对啊,,你不都写了mark:data么。。怎么会没有。。。你直接
var  data={'2018-08-28':'我'};

gdxinge888 2018-08-28
  • 打赏
  • 举报
回复
引用 5 楼 qq_38604499 的回复:
....对啊,,你不都写了mark:data么。。怎么会没有。。。你直接
var  data={'2018-08-28':'我'};



要加在哪里?是不是直接加 var data={'2018-08-28':'我'}; 这句?
我怎么测试了。。。一直不行。。。我是新手,麻烦了
Lg泪光 2018-08-27
  • 打赏
  • 举报
回复
引用 2 楼 qq_38604499 的回复:
不是很懂你意思。。不过不能用循环,将日期做为name值做一个json数组,到时候取值的时候直接调用json[date]的值(不是直接返回了日期值么),不行么?

说错了啊。是json数据,不是数组。。
var data={'2018-01-01':'内容1','2018-01-02':'内容2'}
var datetime='2018-01-03'
if(data[datetime]==null){
data[datetime]='内容3'
}
console.log(data['2018-01-01']) //内容1
console.log(data['2018-01-02']) //内容2
console.log(data[datetime]) //内容3
Lg泪光 2018-08-27
  • 打赏
  • 举报
回复
不是很懂你意思。。不过不能用循环,将日期做为name值做一个json数组,到时候取值的时候直接调用json[date]的值(不是直接返回了日期值么),不行么?
gdxinge888 2018-08-26
  • 打赏
  • 举报
回复
继续求助啊。。。。
求助网是web2.0系统,一问多人参与,评论,分享DIGG多种模式于一体系统,更多好的功能请站长们自己体会吧! 求助网第四回发布,增加一下功能,多谢各位朋友理解和支持! *本套系统主要是增加了,静态页功能,增加了SEO,所有问题都生成静态页面 1、字母长不换行的问题 2、搜索字母BUG 3、静态页面JS浏览量,实时更新 5、匿名可以回答问题 6、发布问题具有审核功能 7、首页增加了调用奖品 8、回答的问题具有支持和反对 9、弹出窗口,关闭刷父页面 10、JS可以调用任何类别、任何数量的问题 11、发布问题和回答增加验证码功能 12、发布和回答问题有编译器功能,可以引用图片,增加效果文字 13、完善邮件系统 14、增加了版主权限 15、会员个人信息默认头像不显示问题 安装方法:将程序传到空间即可 数据库路径:whelpu_d/help.mdb,下载后,请修改数据库路径 修改数据库路径:include/conn.asp 版权说明:本套系统版权归求助网(www.whelpu.com)所有,任何人都可以使用以及修改开源版本,但是不允许复制给第三人(或者出售)、一旦发现将追究版权问题 更多功能请咨询商业版本 调测安装说明:进入后台必须要在前台先登陆,之后点进入管理中心进入后台。 用户名:求助网 密码:123123 如果在使用过程中,发现问题和疑问请和客服联系:QQ:359000335

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧