2016-02-26 48 views
0

我目前得到了這是我從重力形式使用表單內回聲聲明,這裏是我的html代碼PHP的getElementById div標籤

<div class="dropdown"> 
    <button onclick="myFunction()" class="dropbtn">SPECIFY PRODUCT</button> 
    <div id="myDropdown_<?php echo get_the_ID(); ?>" class="dropdown-content"> 
    <?php gravity_form(1, false, false, false, '', true); ?> 
    </div> 
    </div> 

,你看,我是從woocommerce呼應的產品ID,以根據用戶點擊哪個產品給出不同的div ID。這工作正常。

雖然,現在當我創建JavaScript函數:

function myFunction() { 
    document.getElementById("myDropdown_<?php echo get_the_ID(); ?>").classList.toggle("show"); 
    } 

我怎麼能轉危爲安「get_the_ID」像我在HTML代碼,以便它可以下拉列表,我的形式,根據對產品選擇的?

你可以在它到這裏看看:http://www.ctagroup.com.au/cta-group-home/products/tactile-guidance/suresteel/suresteel-classic/

任何幫助將不勝感激。

問候

+0

你得到一個錯誤? –

+0

whta的yoyr問題? –

回答

0

你總是可以嘗試通過PHP生成JS代碼代替。 當然萬一,如果解決問題的嘗試失敗了。 沒有看到這個「技術」的任何問題。

2

這是因爲"myDropdown_<?php echo get_the_ID(); ?>"部分是treated as string沒有PHP代碼。

試試這個方法:

<script> 
    var theId = "<?php echo get_the_ID(); ?>"; 

    function myFunction() { 
     document.getElementById("myDropdown_" + theId).classList.toggle("show"); 
    } 
</script> 
+0

我試圖把這個放在我的腳本@Risan中,儘管按鈕不下拉。我得到這些錯誤 - 類型錯誤:null不是(評估 '的document.getElementById( 「myDropdown_」 + theId).classList') myFunctionsuresteel經典的對象:483 onclicksuresteel經典:787 – ctad

+0

重力形式我按照這些步驟[鏈接] https://www.gravityhelp.com/documentation/article/gform_enqueue_scripts/ in my functions.php文件 'add_action('gform_enqueue_scripts','enqueue_custom_script',10,2);' in my header.php '<?php add_action('gform_enqueue_scripts','enqueue_custom_script',10,2); (true){ wp_enqueue_script('custom_script','path/file.js'); } } ?>' – ctad

+0

它似乎是變量拉動通過id,雖然它從哪裏拉它?它不符合任何產品ID。變量需要從所選產品中抽取ID,但我不確定如何做到這一點。 http://i.imgur.com/K2oB2fD.png?1 – ctad