2012-08-06 68 views
0

我想在手风琴里面创建一个切换按钮。这是我想要做的。使用jquery切换手风琴里面的按钮

的Javascript

$j("div a").live('click', function() { 
$j("#toggleButton").click(function() { 
     $j("#test p").slideToggle("slow"); 
    }); 
}); 

HTML是:

<div id="accordion"> 
    <h3><a href="#">Number 1</a></h3><div><h4> Error1:</h4><p> some contents here </p><div id="content1"><input type="button" value="Hide" id="toggleButton" style="float:right;"><div id="test"> <p>jhfsnv jv jsdhv jsdvb </p></div></div></div> 
    <h3><a href="#">Number 2</a></h3><div><h4> Error2:</h4><p> some contents here </p><div id="content1"><input type="button" value="Hide" id="toggleButton" style="float:right;"><div id="test"> <p>jsa shsbc sjhv sf </p></div></div></div> 
    </div> 

这是我想做的事:

当我打开手风琴,我应该看到文本 “这里的一些内容” 和“隐藏”按钮。当我点击隐藏按钮时,应该打开“jhfsnv jv jsdhv jsdvb”这个内容。

我想在手风琴的所有选项上保留“隐藏”按钮。所以不同的手风琴选项将隐藏按钮,但内容不同。 (有没有简单的方法来保持所有隐藏按钮的id和他们包含的文本相同(尽管点击隐藏按钮时的内容不同))但是所有这些不同的内容都在不同的手风琴选项中。

+0

要小心,你有'toggleButton'在两个不同的元素的ID – NicoSantangelo 2012-08-06 04:25:44

+0

我为您提供建议...使用而不是直播,直播已被弃用,ju st检查jQuery文档。你应该做$ j(“div a”)。on('click',function(){})而不是$ j(“div a”)。live('click',function(){})。 – 2012-08-06 04:28:19

+0

@AndresOrozco - 你建议使用'.on()'不会创建像'.live()'这样的委托处理程序。如果不知道更多的html结构,最接近的'.live()'相当于'$(document).on(“click”,“div a”,function(){})' – nnnnnn 2012-08-06 05:23:26

回答

4

试试这个请工作演示http://jsfiddle.net/stXP6/http://jsfiddle.net/z8Jns/

哦,你的HTML是无效的我已经纠正了一点,现在使用的类。即id定义了元素的身份,因此它应该是唯一的。

希望它适合你的需要:)

代码

$(".test").hide(); 
$(".toggleButton").click(function() { 
    $(this).next(".test").slideToggle("slow"); 
});​ 

HTML

<h3><a href="#">Number 1</a></h3><div><h4> Error1:</h4><p> some contents here </p><div id="content1"><input type="button" value="Hide" class="toggleButton" style="float:right;"><div class="test"> <p>jhfsnv jv jsdhv jsdvb </p></div></div></div> 
<h3><a href="#">Number 2</a></h3><div><h4> Error2:</h4><p> some contents here </p><div id="content1"><input type="button" value="Hide" class="toggleButton" style="float:right;"><div class="test"> <p>jsa shsbc sjhv sf </p></div></div></div> 
Here​​ 
+1

Hey Bro':)'。 +1因为你是对的。 – undefined 2012-08-06 04:35:51

+1

@Raminson sup bruv!希望你摇摆!谢谢! ':)' – 2012-08-06 04:37:05

+0

@tats_innit实际上,我使用ajax调用在手风琴中动态获取内容。我试图把代码放在手风琴点击功能中。但我无法切换内容。当我打开手风琴选项时,我仍然可以看到内容。任何建议发生了什么问题? – Judy 2012-08-06 11:34:28