Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在函数中写入ajax成功数据而不使用id_Javascript_Jquery - Fatal编程技术网

Javascript 在函数中写入ajax成功数据而不使用id

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

我有如下ajax代码,它以jQuery timepicker函数所需的格式正确返回数据

阿贾克斯:

要在jQuery时间选择器函数中使用的(
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"]]
您需要外括号使其成为数组,并且需要使用双引号而不是单引号

然后,在的Ajax
success
函数中调用
.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)});
  }
}