クリック時にネストされたli値が機能しない

ujwal dhakal

li要素がネストされた要素があり、クリック関数を作成して値を取得しました。クリックするたびに、同じ値が何度も表示されます。

<script type="text/javascript">

    $('.cat-select').on('click',function(){
        $('.cat-list').css('display','block');
         $('.sub-list').css('display','block');

    });

    $(document).on('click','.cat-list>li',function(){
        var selectedVal = $(this).clone()   //clone the element
            .children() //select all the children
            .remove()   //remove all the children
            .end()  //again go back to selected element
            .text();    //get the text of elemen
        console.log(selectedVal);
        $('.cat-select').text(selectedVal);
    });
</script>


<div class="form-group">
   <label for="input-placeholder" class="col-sm-2 control-label"></label>
    <div class="col-sm-10"> 
        <style type="text/css">
            .cat-list, .sub-list{ display: none; }
        </style>
        <div class="cat-group">
            <button class="cat-select" type="button">Select Category</button>
            <ul class="cat-list">
                <li class="have-child">Electronics 
                    <ul class="sub-list">
                        <li class="have-child"> Mobiles & Tablets
                            <ul class="sub-list">
                                <li>Mobiles</li>
                                <li>Tablets</li>
                                <li class="have-child">Accessories</li>
                                    <ul>
                                        <li>Power Bank</li>
                                        <li>Phone Cases</li>
                                    </ul>
                            </ul>
                        </li>
                        <li class="have-child">Cameras
                            <ul class="sub-list">
                                <li>DSLRs</li>
                                <li>Drones</li>
                            </ul>
                        </li>
                    </ul>
                </li>        
            </ul>
        </div>
    </div>
</div>

クリックするたびに同じ値が得られます

https://jsfiddle.net/yx4Ldt80/

ロリー・マクロサン

表示される問題.cat-listは、>演算子を使用してのみイベントハンドラをの子にアタッチするためです

これを解決するには、セレクターからそれを削除stopPropagation()し、イベントを呼び出して、DOMのバブリングを停止します。これを試して:

$(document).on('click', '.cat-list li', function(e) {
    e.stopPropagation();
    var selectedVal = $(this).clone().children().remove().end().text();
    $('.cat-select').text(selectedVal);
})

$('.cat-select').on('click', function() {
  $('.cat-list, .sub-list').toggle();
});

$(document).on('click', '.cat-list li', function(e) {
  e.stopPropagation();
  var selectedVal = $(this).clone().children().remove().end().text();
  $('.cat-select').text(selectedVal);
})
.cat-list,
.sub-list {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="form-group">
  <label for="input-placeholder" class="col-sm-2 control-label"></label>

  <div class="col-sm-10">
    <div class="cat-group">
      <button class="cat-select" type="button">Select Category</button>

      <ul class="cat-list">
        <li class="have-child">Electronics
          <ul class="sub-list">
            <li class="have-child">
              Mobiles &amp; Tablets
              <ul class="sub-list">
                <li>Mobiles</li>
                <li>Tablets</li>
                <li class="have-child">Accessories
                  <ul>
                    <li>Power Bank</li>
                    <li>Phone Cases</li>
                  </ul>
                </li>
              </ul>
            </li>
            <li class="have-child">
              Cameras
              <ul class="sub-list">
                <li>DSLRs</li>
                <li>Drones</li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
</div>

またul、親の外部にあるため、「アクセサリ」のHTMLを修正したことにも注意してくださいli

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

クリック時に複製された要素が機能しないJavascript

分類Dev

PyQt5:クリックされた信号に接続されたスロットが機能しない

分類Dev

ネストされたliのドラッグが機能しない

分類Dev

WPF-ネストされたリストボックスバインディングが機能しない

分類Dev

mongodb-php:find()関数のネストされたクエリの「キー」側の値が機能しない

分類Dev

コードブロックが機能しないreStructuredTextのネストされたサブリスト

分類Dev

Hiveのネストされたクエリが機能しない:ParesException

分類Dev

シェルスクリプトに実装されたクイックソートが機能しない

分類Dev

ボタンがクリックされたときにメソッド ポストが機能しない

分類Dev

e.PreventDefault() テキストがクリックされたときに機能しない

分類Dev

ネストされた入力でパッチ値が機能しないリアクティブフォームAngular5

分類Dev

ネストされたReactリストが機能しない

分類Dev

ネストされたリストが機能しない

分類Dev

値がセットで機能しないリストにあるかどうかを確認するために使用されるロジック

分類Dev

ネストされた角度のあるマテリアルレイアウトでフレックスが期待どおりに機能しない

分類Dev

Eloquent hasManyリレーションシップget()がネストされたオブジェクトに対して機能しない

分類Dev

ネストされたIFステートメントでPHPリダイレクトが機能しない

分類Dev

クリック時に複製された要素が機能しないJavascript [Vanila Js noJQueryを使用]

分類Dev

ジェネリック型が明示的に指定されたprocが機能しないのはなぜですか?

分類Dev

ネストされたフレックスボックスグリッドでflex-directionが機能しない

分類Dev

このネストされたドロップダウンリストスクリプトが機能しないのはなぜですか?

分類Dev

同じ名前のPyPdf2ネストされたブックマークが機能しない

分類Dev

divにネストされたulに対してoverflow-yスクロールが機能しない

分類Dev

リンクがクリックされたときにブートストラップトグルが機能しない

分類Dev

クリック時に展開しない複数のネストされたグリッド

分類Dev

Scrapyリクエスト-ネストされたリクエストでコールバック機能が呼び出されない

分類Dev

オブジェクトのネストされたコレクションに対するAzuremongodbクエリが期待どおりに機能しない

分類Dev

ネストされたフラグメントクラスandroidでOnactivityresultが正常に機能しない

分類Dev

SwiftのネストされたクエリのFirebaseが正しく機能しない

Related 関連記事

  1. 1

    クリック時に複製された要素が機能しないJavascript

  2. 2

    PyQt5:クリックされた信号に接続されたスロットが機能しない

  3. 3

    ネストされたliのドラッグが機能しない

  4. 4

    WPF-ネストされたリストボックスバインディングが機能しない

  5. 5

    mongodb-php:find()関数のネストされたクエリの「キー」側の値が機能しない

  6. 6

    コードブロックが機能しないreStructuredTextのネストされたサブリスト

  7. 7

    Hiveのネストされたクエリが機能しない:ParesException

  8. 8

    シェルスクリプトに実装されたクイックソートが機能しない

  9. 9

    ボタンがクリックされたときにメソッド ポストが機能しない

  10. 10

    e.PreventDefault() テキストがクリックされたときに機能しない

  11. 11

    ネストされた入力でパッチ値が機能しないリアクティブフォームAngular5

  12. 12

    ネストされたReactリストが機能しない

  13. 13

    ネストされたリストが機能しない

  14. 14

    値がセットで機能しないリストにあるかどうかを確認するために使用されるロジック

  15. 15

    ネストされた角度のあるマテリアルレイアウトでフレックスが期待どおりに機能しない

  16. 16

    Eloquent hasManyリレーションシップget()がネストされたオブジェクトに対して機能しない

  17. 17

    ネストされたIFステートメントでPHPリダイレクトが機能しない

  18. 18

    クリック時に複製された要素が機能しないJavascript [Vanila Js noJQueryを使用]

  19. 19

    ジェネリック型が明示的に指定されたprocが機能しないのはなぜですか?

  20. 20

    ネストされたフレックスボックスグリッドでflex-directionが機能しない

  21. 21

    このネストされたドロップダウンリストスクリプトが機能しないのはなぜですか?

  22. 22

    同じ名前のPyPdf2ネストされたブックマークが機能しない

  23. 23

    divにネストされたulに対してoverflow-yスクロールが機能しない

  24. 24

    リンクがクリックされたときにブートストラップトグルが機能しない

  25. 25

    クリック時に展開しない複数のネストされたグリッド

  26. 26

    Scrapyリクエスト-ネストされたリクエストでコールバック機能が呼び出されない

  27. 27

    オブジェクトのネストされたコレクションに対するAzuremongodbクエリが期待どおりに機能しない

  28. 28

    ネストされたフラグメントクラスandroidでOnactivityresultが正常に機能しない

  29. 29

    SwiftのネストされたクエリのFirebaseが正しく機能しない

ホットタグ

アーカイブ