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);