【问题标题】:Show/Hide a button if a custum field is display如果显示自定义字段,则显示/隐藏按钮
【发布时间】:2020-03-20 22:27:06
【问题描述】:

我的网站(基于 wordpress)的结帐页面出现问题。 我有两种产品,对于每种产品,在结账时,我都创建了自定义字段来收集特定信息。使用条件规则(通过插件),某些字段仅在选中特定选项列表时才会显示。 当它们被隐藏时,分析代码,我有这种情况:

<div class="form-row form-row-wide thwcfe-html-field-wrapper thwcfe-conditional-field" id="stud_no_req_field" data-name="stud_no_req" data-rules="[[[[{&quot;operand_type&quot;:&quot;field&quot;,&quot;value&quot;:&quot;2&quot;,&quot;operator&quot;:&quot;value_eq&quot;,&quot;operand&quot;:[&quot;student&quot;]}]]]]" data-rules-action="show" style="display: none;">...</div>

当它们出现时,“块”中的样式属性会发生变化。

在页面的最后,我还有一个提交订单的按钮。

<button type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="Associati" data-value="Associati">Associati</button>

如果上面的自定义文件有“display:block”,我正在寻找一个隐藏此按钮的脚本,反之亦然(如果 div 有“display:none”,则显示按钮)。

我已尝试使用此脚本(在结帐页面中),但没有任何反应:

<script>
$(document).ready(function() {
if ($("#stud_no_req_field").style.display == "block")
{
    $("#place_order").style.display = "none";  
}
else
{
    $("#place_order").style.display = "block";
}
});
</script>

我还需要这个脚本是自动的(不需要点击)并监听 div 样式的任何自动更改(在 html 标记内)。

非常感谢!!!你是我的天使!

【问题讨论】:

    标签: javascript html css wordpress woocommerce


    【解决方案1】:

    您使用了错误的代码。你应该这样做

    $("#place_order")[0].style.display = 'none'; // I added [0]
    

    或者使用 jQuery API (https://api.jquery.com/css/)

    $("#place_order").css('display', 'none');
    

    【讨论】:

    • 你能写出完整的脚本吗?我试图用第一次更正来改变这两条线,然后用第二次更正。没有人为我工作:(
    • 我还收到一条错误消息:“Uncaught TypeError: $ is not a function”。
    • 你是否包含了 jQuery?
    • 我已经包含了 jQuery。 WordPress 有自己的 jQuery 库版本 (jquery-migrate.min.js?ver=1.4.1)。我已经通过子主题的 function.php 文件将脚本排入队列。 'wp_enqueue_script("jquery");'默认情况下,这个特定的 jQuery 副本处于兼容模式。 jQuery 的典型 $ 快捷方式不起作用,因此它不会与任何其他 JavaScript 库发生冲突。我们必须使用 jQuery 而不是 $。现在我在检查过程中没有更多错误,但脚本不起作用。我没有想法。也许元素在 html 标签中有 style 属性?元素可以有类属性吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    相关资源
    最近更新 更多