Javascript 在函数中写入ajax成功数据而不使用id
我有如下ajax代码,它以jQuery timepicker函数所需的格式正确返回数据 阿贾克斯: 要在jQuery时间选择器函数中使用的(Javascript 在函数中写入ajax成功数据而不使用id,javascript,jquery,Javascript,Jquery,我有如下ajax代码,它以jQuery timepicker函数所需的格式正确返回数据 阿贾克斯: 要在jQuery时间选择器函数中使用的(disableTimeRanges): $(文档).ready(函数(){ $('input#consulttime')。时间选择器({ “timeFormat”:“h:i A”, “disableTextInput”:true, “minTime”:“, “maxTime”:“, “禁用时间范围”:[ [‘上午8时30分’、‘上午8时45分’], ['1
disableTimeRanges
):
$(文档).ready(函数(){
$('input#consulttime')。时间选择器({
“timeFormat”:“h:i A”,
“disableTextInput”:true,
“minTime”:“,
“maxTime”:“,
“禁用时间范围”:[
[‘上午8时30分’、‘上午8时45分’],
['12:15 PM'、'12:30 PM']
//文件写入=预定日期;
],
“步骤”:15
});
});
该数据将用于“disableTimeRanges”:
,该数据目前为测试而硬编码
我试着使用document.write=booked\u日期代码>没有成功。
如何在不使用id的情况下在disableTimeRanges中插入数据值(预定日期)
我是一个刚刚学习技能的新手,希望你原谅我的任何疏忽
我试过我想@guest271314的意思是:
$('#consultdate').change(function() {
consultdate = $('#consultdate').val();
userid= '<?php echo $user_id;?>';
cat = '<?php echo $category;?>';
//alert(consultdate);
var booked_dates;
$.ajax({
type: "POST",
url: 'qry/date-time_qry.php',
dataType : "text",
data: { consultdate : consultdate, userid : userid, cat : cat },
success: function(data) {
$('input#consulttime').timepicker({
'timeFormat': 'h:i A',
'disableTextInput': true,
'minTime': '<?php echo $consultation_start; ?>',
'maxTime': '<?php echo $consultation_end; ?>',
'disableTimeRanges': [
['8.30 AM', '8.45 AM'],
['12:15 PM', '12:30 PM'],
data
],
'step': 15
});
},
error : function() {
alert("error while loading data");
}
});
});
$('#领事馆')。更改(函数(){
领事馆=$(“#领事馆”).val();
userid='';
cat=“”;
//警觉(领事馆);
风险值(var)和风险值(U)日期;
$.ajax({
类型:“POST”,
url:'qry/date-time_qry.php',
数据类型:“文本”,
数据:{consultdate:consultdate,userid:userid,cat:cat},
成功:功能(数据){
$('input#consulttime')。时间选择器({
“timeFormat”:“h:i A”,
“disableTextInput”:true,
“minTime”:“,
“maxTime”:“,
“禁用时间范围”:[
[‘上午8时30分’、‘上午8时45分’],
['12:15 PM'、'12:30 PM'],
数据
],
“步骤”:15
});
},
错误:函数(){
警报(“加载数据时出错”);
}
});
});
jQuery.ajax()
success
函数异步返回结果。在$.ajax()
的成功
回调处调用.timepicker()
以设置.timepicker()
实例的禁用时间范围
属性。如果在#consultdate
事件中只需要调用一次
,则可以在success
函数中包含逻辑。尚不清楚input#consulttime
是否是一个动态创建的元素,与
不使用身份证
问题部分
success:function(data) {
// if `data` should be set only once
// if (!$('input#consulttime').data("set")) {
$('input#consulttime')
// .data("set", true)
.timepicker({ 'disableTimeRanges':data});
// }
}
首先,确保PHP向Ajax调用返回有效的JSON结果。大概是这样的:
[["8.30 AM", "8.45 AM"], ["12:15 PM", "12:30 PM"]]
您需要外括号使其成为数组,并且需要使用双引号而不是单引号
然后,在的Ajaxsuccess
函数中调用.timepicker()
,以设置disableTimeRanges
属性。使用JSON.parse()
函数将PHP JSON字符串转换为JSON对象:
success:function(data) {
$('input#consulttime').timepicker({'disableTimeRanges':JSON.parse(data)});
}
}
注意:这是基于guest271314的,您可以参考那里的讨论了解更多详细信息。您可以在成功时启动.timepicker()
回调$.ajax()
调用,在的disableTimeRanges
属性处设置data
method@guest271314抱歉..我找不到您。success:function(data){$('input#consulttime')。timepicker({'disableTimeRanges':data});}
。您是尝试在#consultdate
元素的每个更改事件中调用.timepicker()
,还是仅调用一次?@guest271314我尝试在每个更改事件中调用.timepicker()。这会导致多个事件附加并调度到同一元素吗?data
是字符串还是JavaScript数组?@在$(document)中没有作为时间选择器工作。ready(function(){$(document)。ready(function(){$(“#booking_form”)。validationEngine('attach',{prompposition:'topRight:-100,-1',scroll:false});TIMEPICKERIt似乎对我不起作用。可能我对数据的格式做了一些错误。在timepicker中,它的格式应该是:'disableTimeRanges':[['8.30 am','8.45 am'],['12:15 PM','12:30 PM']],数据类型:“text”,抱歉..我是一个完全的初学者,可能会错过一些有效的内容。disableTimeRanges
属性需要一个数组,是吗?console.log(数据)
log?响应是['12:30 PM','12:45 PM',['07:30 am','07:45 am']如果你想像你之前要求的那样将格式转换成JSON,那么用双引号替换单引号如下:[[“8.30 AM”,“8.45 AM”],[“12:15 PM”,“12:30 PM”]
。现在可以使用$('input#consulttime')。时间选择器({'disableTimeRanges:JSON.parse(data)});
,它比eval()安全得多。
success:function(data) {
// if `data` should be set only once
// if (!$('input#consulttime').data("set")) {
$('input#consulttime')
// .data("set", true)
.timepicker({ 'disableTimeRanges':data});
// }
}
[["8.30 AM", "8.45 AM"], ["12:15 PM", "12:30 PM"]]
success:function(data) {
$('input#consulttime').timepicker({'disableTimeRanges':JSON.parse(data)});
}
}