2016-07-21 32 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