【问题标题】:Show field only if checkbox is checked仅在选中复选框时显示字段
【发布时间】:2015-09-20 10:58:22
【问题描述】:

我有以下代码:

<div class="dk-form-group">
        <label class="dk dk-control-label" for=""><?php _e( 'Manage Items?', 'dk' ); ?></label>
        <div class="dk dk-text-left">
            <?php dk_post_input_box( $post->ID, '_manage_items', array('label' => __( 'Enable item management', 'dk' ) ), 'checkbox' ); ?>
        </div>
    </div>

    <div class="dk-form-group">
        <label class="dk dk-control-label" for="_item_qty"><?php _e( 'Item Qty', 'dk' ); ?></label>
        <div class="dk dk-text-left">
            <input type="number" name="_item" id="_item" step="any" placeholder="10" value="<?php echo !empty( $_stock ) ? wc_stock_amount( $_stock ) : 1; ?>">
        </div>
    </div>

基本上你可以猜到,我试图仅在选中复选框时才显示输入字段。

我一直在尝试添加以下代码:

$('_manage_items').click(function() {
  $('_item')[this.checked ? "show" : "hide"]();
});

所以我的最终代码如下所示:

<div class="dk-form-group">
            <label class="dk dk-control-label" for=""><?php _e( 'Manage Items?', 'dk' ); ?></label>
            <div class="dk dk-text-left">
                <?php dk_post_input_box( $post->ID, '_manage_items', array('label' => __( 'Enable item management', 'dk' ) ), 'checkbox' ); ?>

               <?php
            $('_manage_items').click(function() {
            $('_item')[this.checked ? "show" : "hide"]();
            }); ?>

            </div>
        </div>

        <div class="dk-form-group">
            <label class="dk dk-control-label" for="_item_qty"><?php _e( 'Item Qty', 'dk' ); ?></label>
            <div class="dk dk-text-left">
                <input type="number" name="_item" id="_item" step="any" placeholder="10" value="<?php echo !empty( $_stock ) ? wc_stock_amount( $_stock ) : 1; ?>">
            </div>
        </div>

但这只是抛出错误。所以我不确定我是否将此 sn-p 正确添加到复选框代码中的正确位置,然后我不确定 sn-p $('_manage_items') 和 $('_item') 中的名称是否输入正确.

任何帮助将不胜感激。

【问题讨论】:

  • 您将 jquery 包装在 php 标签中。它需要被包裹在
  • 我没有看到名为manged_items的id或类
  • @bklynM ha,jquery,这是一个好的开始.. 那么代码应该是什么样子?
  • @bklynM 好的,我已经将脚本正确包装在
  • _manage_items 不是类或 id。您需要检查元素并找到您单击的项目的 id 或类。

标签: php checkbox woocommerce


【解决方案1】:

试试这个:

$('input[name="_manage_items"]').click(function() {
  $('input[name="_item"]')[this.checked ? "show" : "hide"]();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多