2014-09-25 65 views
0

我想調用Javascript函數並調用<a>來隱藏和顯示塊,使用divid作爲id,如下面的代碼所示。我可以隱藏開放塊但不能打開它。使用javascript調用事件

echo "<span class='bold' style='background:#0DCAD1'><a name='form_a_$group_seq' href='#div_$group_seq' style='float:left;color:white' id='form_a_$group_seq' value='1' " . 
"onclick='return divclick(this,\"div_$group_seq\");'"; 
if ($display_style == 'block') echo "clicked"; 

// Modified 6-09 by BM - Translate if applicable 
echo "<b>" . xl_layout_label($group_name) . "</b></a></span>\n"; 

echo "<div id='div_$group_seq' class='section' style='display:$display_style;'>\n"; 
echo " <table border='0' cellpadding='0'>\n"; 
$display_style = 'none'; 
} 
else if (strlen($last_group) == 0) { 
echo " <table border='0' cellpadding='0'>\n"; 
} 

這是我使用的JavaScript代碼。

function divclick(a, divid) { 
var divstyle = document.getElementById(divid).style; 
if(a.clicked) { 
divstyle.display = 'block'; 
} else { 
divstyle.display = 'none'; 
} 
return true; 
} 
+4

事件發生在客戶端,請顯示解析的HTML而不是那個亂七八糟的HTML。 – Teemu 2014-09-25 18:20:10

回答

0

您需要檢查的風格是什麼當前設置,並採取相應的行動。如果你能提供一個jsfiddle,我可以爲你演示它。下面的東西應該可以工作,假設你已經能夠隱藏按鈕了:

if (divstyle.display == 'none') { 
    divstyle.display = 'block'; 
    } else { 
    divstyle.display = 'none'; 
    } 
+0

感謝這工作就像一個魅力..再次感謝您的及時幫助。 – vinesh 2014-09-25 19:20:17

+0

沒問題,隨時。 – Will 2014-09-25 19:25:39

-1

可以在jQuery的如下做到這一點:

$(a).click(function(){ 
    $(divid).toggle(); 
}); 
+0

嗯,我不知道誰低估了我的回答以及爲什麼,但我認爲這就是@vinesh想要的。 [toggle - jQuery API](https://api.jquery.com/toggle/) – 2014-10-15 18:20:05