2

我对 javascript / jquery 很陌生 - 我在嵌套的 ul 中有一个库存商列表,我想显示/隐藏该区域(显示该区域中的所有库存商)。它确实显示和隐藏,但所有区域而不是我想要的区域 - 任何帮助一如既往地非常感激

我的标记

{foreach $regions index region}

<ul class="stockists">

    <li>
        <div class="regionHeader">

            <span class="regionTitle">{$region.label}</span><span class="regionView">View</span>

        </div>

        <ul class="region">
            <li>

            {$stockists = $region.stockists}

            {foreach $stockists index stockist}

                        <ul>
                        <li class="stockistName">{$stockist.name}</li>
                        <li>{$stockist.address1}</li>
                        <li>{$stockist.address2},{$stockist.city}</li>
                        <li>T : {$stockist.telephone}</li>
                        <li>W : {$stockist.website}</li>
                        <li><span class="productsButton">Products Stocked</span><span class="mapButton">View on Map</span></li>
                        </ul>

            {/foreach}

            </li>

        </ul>           

    </li>

</ul>                  


{/foreach}

我的 javascript

var stockists = {

start: function() {

    $('.region').hide();
            $('.regionTitle').click(function(e) {
                e.preventDefault();
                $('.region').slideToggle(200);
            })

}

};

$(stockists.start);

感谢您的关注,丰富 :)

4

3 回答 3

2

尝试:

var stockists = {
start: function() {

$('.region').hide();
        $('.regionTitle').each(function(){
        $(this).click(function(e) {
            e.preventDefault();
            $(this).next('.region').slideToggle(200);//here is the change basically it will show/hide only the region next to the clicked regionTitle.
        });
        });

}
};
$(stockists.start);
于 2013-02-28T12:34:49.463 回答
0

编码:

$('.region').slideToggle(200);

使用类“区域”切换所有元素。 $('.region')如果您只想切换一个元素,请选择所有具有“区域”类的元素,您应该选择他只添加使用该功能。

于 2013-02-28T12:34:02.227 回答
0

我已经对其进行了排序,我需要先上一个元素,然后才能下一个……更正了这一行

$(this).parent().next('.region').slideToggle(300); // where .parent is the containing element of .regionTitle, which is div with class regionHeader.

感谢大家的帮助,@gaurav 让我找到了正确的地方:)

于 2013-02-28T13:51:08.167 回答