Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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/4/json/15.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未显示所需的值_Javascript_Json_Wordpress_Custom Fields - Fatal编程技术网

Javascript未显示所需的值

Javascript未显示所需的值,javascript,json,wordpress,custom-fields,Javascript,Json,Wordpress,Custom Fields,我正在尝试使用自定义字段操纵gravity表单,以根据状态使用JSON和JavaScript显示表单中的存储(以及将电子邮件分配给隐藏字段)。相同的代码适用于其他网站,但在表单中选择状态时不会产生任何结果。请帮助我浏览这个问题 我试图寻找类似的答案,但我没有任何运气(而且我是新手,所以我对JSON不是很熟悉) 让我知道我发布问题的方式是否正确,或者是否需要进行任何编辑 PHP代码: add_action('wp_ajax_state_list_book_appointment','state_l

我正在尝试使用自定义字段操纵gravity表单,以根据状态使用JSON和JavaScript显示表单中的存储(以及将电子邮件分配给隐藏字段)。相同的代码适用于其他网站,但在表单中选择状态时不会产生任何结果。请帮助我浏览这个问题

我试图寻找类似的答案,但我没有任何运气(而且我是新手,所以我对JSON不是很熟悉)

让我知道我发布问题的方式是否正确,或者是否需要进行任何编辑

PHP代码:

add_action('wp_ajax_state_list_book_appointment','state_list_book_appointment');
add_action('wp_ajax_nopriv_state_list_book_appointment','state_list_book_appointment');
function state_list_book_appointment()
{

    $states = get_field('state_options', 'option');

    $output = [];
    foreach ($states as $state) {
        if ($state['booking_Appointment']) {
             $output[] = [
            'state_name' => $state['store'] . ' (' . $state['state'] . ')',
            'state_email' => $state['store_email']
        ];
        }
    }
    echo json_encode($output);
    die();
}
JAVASCRIPT:

$(document).ready(function() {
    if ($('#input_1_4').length > 0) {

        var store_lists_book_appointment;
        $('#input_1_4').on('change', function () {
                current_state = $(this).val();
                output = '';

                state_string = '(' + current_state + ')';
                console.log(state_string);
                $("#input_1_6").val($("#input_1_6 option:first").val());
                $.each($('#input_1_6 option'), function (idx, val) {
                    // assume state is in option format of ([state])
                    idx_of_state = $(val).val().indexOf(state_string);
                    if (idx == 0 || idx_of_state > 0) {
                        $(val).show();
                    } else {
                        $(val).hide();
                    }
                });
            });

        $.ajax({
            type:"GET",
            url: my_ajax_object.ajaxurl,
            data:{action: 'state_list_book_appointment'},
            beforeSend: function(){
                $('#catvalue').html('<i class="fa fa-spinner fa-1x" style="color:#000;text-align:center;"></i>');
            },
                    dataType: 'json',
                success: function (data) {
                    //console.log (data);
                    store_lists = JSON.parse(data);
                    //console.log(store_lists);
                    //store_lists_women = JSON.parse(data).women;
                    output = '<option>-- Please select --</option>';
                    $.each(store_lists, function (index, value) {
                        output += '<option style="display:none" value="' + value.state_name + '" data-email="' + value.state_email + '">' + value.state_name + '</option>';
                    });
                    $('#input_1_6').html(output);

                }
            });




            $('#input_1_6').on('change', function () {
                selected_email = $('#input_1_6 option:selected').data('email');
                $('#input_1_10').val(selected_email);
            });


        // This function is to prevent Chrome frontend validation. It stop working actual submit function of the form
        $('#gform_submit_button_1').on('click', function(){
            $('#gform_1').submit();
        });
    }

});
$(文档).ready(函数(){
如果($('#input_1_4')。长度>0){
var存储列表、预订、约会;
$('#input_1_4')。on('change',function(){
当前_状态=$(this.val();
输出='';
状态字符串='('+当前状态+)';
console.log(状态字符串);
$(“#input_1_6”).val($(“#input_1_6 option:first”).val());
$。每个($('#输入_1_6选项'),函数(idx,val){
//假设状态的选项格式为([状态])
idx_of_state=$(val).val().indexOf(state_string);
如果(idx==0 | | idx_的状态>0){
$(val.show();
}否则{
$(val.hide();
}
});
});
$.ajax({
键入:“获取”,
url:my_ajax_object.ajaxurl,
数据:{操作:'状态\列表\书籍\约会'},
beforeSend:function(){
$('#catvalue').html('');
},
数据类型:“json”,
成功:功能(数据){
//console.log(数据);
store_lists=JSON.parse(数据);
//控制台日志(存储列表);
//store_lists_women=JSON.parse(data).women;
输出='--请选择--';
$.each(存储列表、函数(索引、值){
输出+=''+值.state_name+'';
});
$('#input_1_6').html(输出);
}
});
$('#input_1_6')。on('change',function(){
选定的电子邮件=$(“#输入1_6选项:选定”)。数据(“电子邮件”);
$('#input_1_10').val(选定的电子邮件);
});
//此功能用于阻止Chrome前端验证。它将停止表单的实际提交功能
$('gform_submit_button_1')。在('click',function()上{
$('gform_1')。提交();
});
}
});

您在控制台中是否收到任何错误消息?请尝试将“$”(“#input_1_6”)。on('change',function()'更改为“$”(document)。on('change','#input_1_6',function(e){…},然后对所有onchange事件也是如此。这只是一个猜测,不知道有任何错误。我之前收到一条错误消息:SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符,但我更改了数据类型:'JSON',现在没有错误消息。将'get'视为post类型有点不寻常。正常情况下应该是这样吗我做了你要求的更改,但仍然不起作用。除了php和javascript之外,我是否缺少任何元素?