2

私はjavascript/jqueryにかなり慣れていません-入れ子になったul'sに仕入れ業者のリストがあり、地域を表示/非表示にしたい(その地域のすべての仕入れ業者を明らかにする)。それは表示と非表示をしますが、私が望むものではなくすべての地域 - いつものようにどんな助けも大歓迎です

私のマークアップ

{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

並べ替えました。次に進む前に、1 つ上の要素に移動する必要がありました...行を修正しました

$(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 に答える
0

コード:

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

クラス「地域」ですべての要素を切り替えます。 $('.region')クラス 'region' を持つすべての要素を選択します。1 つの要素のみを切り替えたい場合は、その要素のみを選択して関数を使用して追加する必要があります。

于 2013-02-28T12:34:02.227 に答える