私は、各アコーディオンセクションにフォーム要素を持つブートストラップアコーディオン/ウェルを持っています。ユーザーが異なるフィールドとアコーディオンセクションをナビゲートするとき、必要なすべてのデータを入力したかどうかに基づいてスパンを表示したいと思います。すべての入力フィールドは.section
にあります。ユーザーが必要なフィールドを記入しない場合、入力とラベルの周囲の.form-group
はクラス.has-error
を取得します。問題を解決すると、.has-error
は.no-error
に置き換えられます。divの子孫にあるクラスを見つけよう
.has-error
クラスは.section
(孫を含むすべての子孫)内の任意の場所に表示されたのであれば、スパン.field-error
は.section
直前の兄弟であり、そのアコーディオンのセクションのタイトルを含む、.lbl.lblBig
に表示されます。 .has-error
が見えない場合は、範囲.field-ok
を.lbl.lblBig
に表示します。ここで
は初歩的なレイアウトです:
<div class="lbl lblBig">
Section 1
<span class="field-error" style="display:none"></span>
<span class="field-ok" style="display:none"></span>
</div>
<div class="section"> <!--input fields for section 1-->
<div class="form-group">
<label class="control-label">First</label>
<input class="required form-control" placeholder="First">
</div>
<div class="form-group">
<label class="control-label">Last</label>
<input class="required form-control" placeholder="Last">
</div>
</div>
<div class="lbl lblBig">
Section 2
<span class="field-error" style="display:none"></span>
<span class="field-ok" style="display:none"></span>
</div>
<div class="section"> <!--input fields for section 2-->
<div class="form-group">
<label class="control-label">Street</label>
<input class="required form-control" placeholder="Street">
</div>
<div class="form-group">
<label class="control-label">City</label>
<input class="required form-control" placeholder="City">
</div>
</div>
私は一緒にこのスクリプトを入れているが、それは動作しません。私は.no-error
クラスは必要ありませんが、何か動作するように作成しました。私は.section
の死亡者を検索し、その情報を使って.lbl.lblBig
を変更することに問題があります。
$(".section").each(function(){
if ($(this).find(".has-error").length) {
$(this).prev(".lbl.lblBig").find(".field-error").show();
$(this).prev(".lbl.lblBig").find(".field-ok").hide();
}
else if ($(this).find(".no-error").//do opposite of length?) {
$(this).prev(".lbl.lblBig").find(".field-error").hide();
$(this).prev(".lbl.lblBig").find(".field-ok").show();
}
});
私はページとフォームのHTMLを変更することはできません。その点に関しては制限があります。どんな助けでも大歓迎です。もしできれば、私はあなたにクッキーを焼きますが、これはインターネットであり、3Dプリントベーキング技術はありません。ありがとうございました。
あなたは本当にあなたが提供するHTMLで何かを変更することはできませんか?各 ' 'に属性' required'を追加した場合、送信ボタンがクリックされたときにすべてのジョブが実行されます。 –
私はできると思いますが、いいえ。 – christine