Javascript 输入字段为空时隐藏DIV

Javascript 输入字段为空时隐藏DIV,javascript,html,jquery,wordpress,advanced-custom-fields,Javascript,Html,Jquery,Wordpress,Advanced Custom Fields,我想知道你是否能帮我解决一个问题 我正在为事件页面构建一个内容模板,该模板使用高级自定义字段来提取数据 我在管理端有一个字段,在添加新事件时将填写该字段。该字段名为show_info,ID为#acf-editor-46 但是,在某些事件中,这将保留为空,但包装前端内容的DIV仍将显示在模板上,该DIV具有类。show info wrapper 如果show_info字段为空,则前端不会显示DIV.show info wrapper 我在浏览方面取得了一些进展,您可以在此处看到我迄今为止的代码:

我想知道你是否能帮我解决一个问题

我正在为事件页面构建一个内容模板,该模板使用高级自定义字段来提取数据

我在管理端有一个字段,在添加新事件时将填写该字段。该字段名为
show_info
,ID为
#acf-editor-46

但是,在某些事件中,这将保留为空,但包装前端内容的DIV仍将显示在模板上,该DIV具有类
。show info wrapper

如果
show_info
字段为空,则前端不会显示DIV
.show info wrapper

我在浏览方面取得了一些进展,您可以在此处看到我迄今为止的代码:

HTML(只是一个快速测试设置):

它在JSFiddle()上工作,但是,在我的WordPress站点上,由于输入和DIV不在同一个DOM上,它似乎不工作

有人能帮我吗


谢谢大家!

只需将
#acf-editor-46
的事件更改为
输入

$(document).ready(function() {

    if($('#acf-editor-46').val() == '' ){$('.show-info-wrapper').hide();}  

    $('#acf-editor-46').on('input' , function() {  // Just change event to input

         if( this.value != ''){

               $('.show-info-wrapper').show(); 
          }
          else{
               $('.show-info-wrapper').hide(); 
         }
    });
  });

尝试此操作以检查textarea是否为空

如果稍后呈现textarea,则可以委派事件

$(document).on('change', '#acf-editor-46', callback);
链接:

  • 假设
    在这个顺序上真的是兄弟姐妹(你的文本与示例相矛盾)&如果你同意在
    文本区域添加一个
    占位符
    &你只需要,有一个纯CSS解决方案:

    
    
    。显示信息包装器{
    显示:块;
    }
    .wp编辑器区域:显示占位符+.show信息包装器{
    显示:无;
    }
    

    .

    这是一个有效的演示,但对我来说似乎仍然不起作用。在我的WordPress站点上,输入和DIV似乎不在同一个DOM上,它不起作用。“由于JS正在调用admin中的一个框。除非它和.show info wrapper位于同一页面上(没有一些多余的功能),否则它无法提取该值。”“在您的示例中,
    show info wrapper
    没有环绕文本区域,这个示例正确吗?“不在同一个DOM上”——你这是什么意思?
    $(document).ready(function() {
    
        if($('#acf-editor-46').val() == '' ){$('.show-info-wrapper').hide();}  
    
        $('#acf-editor-46').on('input' , function() {  // Just change event to input
    
             if( this.value != ''){
    
                   $('.show-info-wrapper').show(); 
              }
              else{
                   $('.show-info-wrapper').hide(); 
             }
        });
      });
    
    if (!$("#acf-editor-46").val()) {
    // textarea is empty
    }
    
    $(document).on('change', '#acf-editor-46', callback);