[解決済み] クラス別のjquery onclick
2022-02-12 15:03:24
質問
クラス "add-another"を持つすべての入力ボタンにクリックイベントを作成したいと思います。ボタンがクリックされると、クラス "hiddenDV"を持つ次の2つのdivが表示されるようにしたいのです。私のイベントは、最初の要素に対してのみ機能します。また、on()メソッドを使用してみましたが、これにも失敗しました。
$(".hiddenDV").hide();
$(".add-another").click(function() {
$(this).nextAll('.hiddenDV:lt(2)').show();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="panel-body">
<div class="row">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
</div>
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
<input type="button" class="btn btn-default" value="-" />
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
<input type="button" class="btn btn-default" value="-" />
</div>
</div>
解決方法は?
あなたのコードを修正しましたので、スニペットをご覧ください。
$(document).ready(function(){
$('.hiddenDV').hide();
$(".add-another").click(function() { $(this).parents('.row').nextAll('.hiddenDV:lt(2)').show().next('.more-buttons').show();
});
$(".remove-another").click(function() {
$(this).parents('.row').hide().prev('.hiddenDV').hide();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="panel-body">
<div class="row">
<div class="col-md-12">
<input type="text" placeholder="name"/><br />
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
</div>
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
<input type="button" class="btn btn-default remove-another" value="-" />
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
</div>
<div class="row hiddenDV">
<div class="col-md-12">
<input type="text" placeholder="name"/>
</div>
<input type="button" class="btn btn-default extra-margin add-another" value="+" />
<input type="button" class="btn btn-default remove-another" value="-" />
</div>
</div>
質問文にあるように 私のイベントは、最初の要素に対してのみ機能します。
問題は、次の
.hiddenDV
の次の要素でなかったからです。
.add-another
ボタンをクリックします...!
そこで、このjQueryのコードを追加しました。
$(this).parents('.row').nextAll('.hiddenDV:lt(2)').show().next('.more-buttons').show();
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JSONパースエラー シンタックスエラー 予期せぬ入力の終了
-
[解決済み] jqueryで日付を比較する
-
[解決済み] jQuery - 不正な呼び出し
-
[解決済み] Javascriptでの改行の分割方法
-
[解決済み] リーフレット - 既存のマーカーを検索したり、マーカーを削除するには?
-
[解決済み] ファイルをホストせずにホットリンクできるjQueryのバージョンはどこかにあるのでしょうか?
-
[解決済み] jQueryで文字色を変更するにはどうすればよいですか?
-
[解決済み] クラス別のjquery onclick
-
[解決済み] jQueryで背景画像をアニメーションで変化させる
-
[解決済み] jcarouselliteでbtnNextがクリックされたときに変数をインクリメントするには?