Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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/80.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
Php wp admin填充复选框更改后的选择下拉列表_Php_Jquery_Ajax_Wordpress_Advanced Custom Fields - Fatal编程技术网

Php wp admin填充复选框更改后的选择下拉列表

Php wp admin填充复选框更改后的选择下拉列表,php,jquery,ajax,wordpress,advanced-custom-fields,Php,Jquery,Ajax,Wordpress,Advanced Custom Fields,我有自定义的帖子类型,称为:类别、消息和工具。我还有自定义分类法,称为子类别 类别具有自定义ACF post对象字段,您可以在其中从现有工具中选择值,还必须选择子类别 消息具有自定义分类无线电字段,您必须在其中选择一个子类别 消息也可以有工具,但只能有那些属于与消息具有相同子类别的类别的工具 当为消息选择子类别时,我使用条件逻辑来显示Tools post object字段。 我的问题是,我很难将消息中可用的工具限制为仅来自具有相同子类别的类别的工具 实际上,我已经获得了可以在子类别收音机和aja

我有自定义的帖子类型,称为:类别消息工具。我还有自定义分类法,称为子类别

类别具有自定义ACF post对象字段,您可以在其中从现有工具中选择值,还必须选择子类别

消息具有自定义分类无线电字段,您必须在其中选择一个子类别

消息也可以有工具,但只能有那些属于与消息具有相同子类别的类别的工具

当为消息选择子类别时,我使用条件逻辑来显示Tools post object字段。 我的问题是,我很难将消息中可用的工具限制为仅来自具有相同子类别的类别的工具

实际上,我已经获得了可以在子类别收音机和ajax上使用change event listener显示的工具列表,但我不知道如何填充Tool post对象字段

$(window).on("load", function() {

    if (typeof(acf) == 'undefined') { 
        return; 
    }

    // radio taxonomy select
    var field = acf.getField('field_5dcd325ceb231');

    field.on('change', function(e) {
      // the field I would like to populate with the Tools I get in response
      var mandatory_tools = acf.getField('field_5dc1444f9dde7');
      // selected Subcategory Id
      var subcategory_id = field.val();
      if (!subcategory_id) {
        return;
      }

      $.ajax({
          url: ajaxurl,
          type: 'POST',
          data: {
              action: 'get_subcategory_tools',
              subcategory_id: subcategory_id,
          },
          success: function( response ) {
              response = JSON.parse( response );
              // console.log(response);
              if (response.success) {
                  // I get the array of object with tools that I want to be available for selection
                  let tools = response.tools;

                  // how to limit the selection to only those Tools that are in tools variable, 
                  instead of showing all tools
              }

          },
          error: function (xhr, status, error) {
              console.log( xhr.responseText );
          }
      });


    });  
});
子类别分类法消息中的无线电字段

Post对象字段,用于选择消息中的工具,在这些消息中,我只希望有响应的工具,而不是所有工具


经过一些研究,似乎不可能用ajax修改acf post对象字段

我通过创建acf选择字段并用我需要的东西填充它来解决这个问题

选择字段可以通过ajax更新