2016-07-21 31 views
1

我有这个JS,我将在下面粘贴。Javascript - 在加载时显示默认表

这基本上是做什么的,是显示一个定价表,取决于你选择的变化。因此,表格仅在选择选项时显示。因此,当用户登录产品页面时,现在有表格,直到他们选择变体。

我想要做的是在登陆页面时显示变化的任何表格,但仍然能够在用户选择选项时更改表格。

所做的ID是变化

jQuery('.rp_wcdpd_pricing_table_variation').hide(); 

jQuery('.rp_wcdpd_pricing_table_variation').show();  

但后来这显示了所有变化表,而不是仅仅1

原始代码:

/** 
    * VARIABLE PRODUCT PRICING TABLE 
    */ 
    function rp_wcdpd_switch_variable_pricing_tables(element_id) { 
     jQuery('.rp_wcdpd_pricing_table_variation').hide(); 
     jQuery(element_id).show(); 
    } 

    if (jQuery('.rp_wcdpd_pricing_table_variation').length) { 
     jQuery('input:hidden[name="variation_id"]').each(function() { 
      rp_wcdpd_switch_variable_pricing_tables('#rp_wcdpd_pricing_table_variation_' + jQuery(this).val()); 

      jQuery(this).change(function() { 
       rp_wcdpd_switch_variable_pricing_tables('#rp_wcdpd_pricing_table_variation_' + jQuery(this).val()); 
      }); 
     }); 
    } 

}); 

回答

1

你问jqu以显示这个类的所有元素。 使用jQuery('.rp_wcdpd_pricing_table_variation').first().show();仅显示第一个表

+0

谢谢L.Dia,那没有工作。现在唯一的问题是,当我选择变体时,它会一直在默认的下方添加它们......因此,当我选择变体时,它会在其他变体下添加。因此,而不是替换默认的一个,它将它添加到下面,并继续按照我的选择进行。 – Stefano

+0

在你的选择监听器中保存'jQuery('。rp_wcdpd_pricing_table_variation')。hide();'在任何情况下你隐藏所有的表,然后用你点击的id显示。 –

+0

谢谢!这就是诀窍!最后问题...一旦我选择并选择了任何方式完全隐藏第一/默认表格? – Stefano

0

如果您有多个表rp_wcdpd_pricing_table_variation的表,那么它肯定会显示它们全部。

如果你想只显示一个,那么你必须从阵列

$('.rp_wcdpd_pricing_table_variation')这将返回一个包含所有具有此类元素的数组获得的第一个。

为了让你需要添加.first()第一个因此这将是$('.rp_wcdpd_pricing_table_variation').first().show()

+0

谢谢,那确实有用。现在唯一的问题是,当我选择变体时,它会一直在默认的下方添加它们......因此,当我选择变体时,它会在其他变体下添加。因此,而不是替换默认的一个,它将它添加到下面,并继续按照我的选择进行。 – Stefano