0

そのため、計算された年齢から派生した金額のレベルを選択するためのカスタム コードがある CMS 内で作業しています。このコードは幅広いフォームに適用可能であり、金額レベルの値または ID を制御できないことを除いては正常に機能します。階層はフォームからフォームへと同じままです。寄付レベル ラベル コンテナーと同様に、ID と値は新しい反復ごとに新しい 5 桁の数字に変更されます。

<div class="donation-levels">
  <div class="donation-level-container">
    <div class="form-content">
      <div class="donation-level-input-container form-input">
        <div class="donation-level-label-input-container">
          <input type="radio" name="level_installmentexpanded" id="level_installmentexpanded16025"
value="16025"/>
        </div>
        <label for="level_installmentexpanded16025" onclick="">
        <div class="donation-level-amount-container"> $250.00 </div>
        <div class="donation-level-label-container"> Age 40 and under </div>
        </label>
      </div>
      <input type="hidden" name="level_installmentexpandedsubmit" id="level_installment_16025expandedsubmit" value="true" />
    </div>
  </div>
  <div class="donation-level-container">
    <div class="form-content">
      <div class="donation-level-input-container form-input">
        <div class="donation-level-label-input-container">
          <input type="radio" name="level_installmentexpanded" id="level_installmentexpanded16022"
value="16022"/>
        </div>
        <label for="level_installmentexpanded16022" onclick="">
        <div class="donation-level-amount-container"> $230.00 </div>
        <div class="donation-level-label-container"> Age 41-60 </div>
        </label>
      </div>
      <input type="hidden" name="level_installmentexpandedsubmit" id="level_installment_16022expandedsubmit" value="true" />
    </div>
  </div>
  <div class="donation-level-container">
    <div class="form-content">
      <div class="donation-level-input-container form-input">
        <div class="donation-level-label-input-container">
          <input type="radio" name="level_installmentexpanded" id="level_installmentexpanded16021"
value="16021"/>
        </div>
        <label for="level_installmentexpanded16021" onclick="">
        <div class="donation-level-amount-container"> $180.00 </div>
        <div class="donation-level-label-container"> Age 61-70 </div>
        </label>
      </div>
      <input type="hidden" name="level_installmentexpandedsubmit" id="level_installment_16021expandedsubmit" value="true" />
    </div>
  </div>
  <div class="donation-level-container">
    <div class="form-content">
      <div class="donation-level-input-container form-input">
        <div class="donation-level-label-input-container">
          <input type="radio" name="level_installmentexpanded" id="level_installmentexpanded16026"
value="16026"/>
        </div>
        <label for="level_installmentexpanded16026" onclick="">
        <div class="donation-level-amount-container"> $140.00 </div>
        <div class="donation-level-label-container"> Age 71-79 </div>
        </label>
      </div>
      <input type="hidden" name="level_installmentexpandedsubmit" id="level_installment_16026expandedsubmit" value="true" />
    </div>
  </div>
</div>
</div>

相対セレクターまたはその他のブードゥー教を使用して、新しいフォームに適用されるたびに ID を変更することなく、これらを動的に選択する手段を設定できますか?

4

6 に答える 6

0

ラジオボタンは次のように見つけることができます:

チェック済みラジオの場合:

// Direct access
jQuery(':radio:checked')

// or by targeting a parent
jQuery('#a_form').find(':radio:checked');
// or
jQuery('#a_form').find(':radio').each(function(){
  if($(this).is(':checked')) {
   // Do for checked
  } else {
   // other else
  }
})

// or directly find unchecked radio
jQuery(':radio:not(:checked)').each(function(){
  var t = $(this);
})
于 2013-11-06T15:52:25.560 に答える
0

以下のコードはあなたを助けるかもしれません、

$('.donation-level-label-input-container input[type="radio"]').each(function(){
    console.log($(this));
});

または単に好きです、

$('input[type="radio"]').each(function(){
    console.log($(this));
});
于 2013-11-06T15:40:22.863 に答える
0

さて、まあ、あなたのほとんどは私の質問の前提条件を無視しているようです. ここで最終的にうまくいったのは次のとおりです。

私は jQuery を使用しているので、:nth-childCSS セレクターを使用してこれらを個別に選択しました。これは、jQuery を使用しているため、ブラウザー間で機能するためです。2番目の入力をチェックするのが好きでした:

     $j("div.donation-levels div:nth-child(2) div div input").prop('checked',true);

私が使用した最初のものでは実際には機能しなかったため、div を除外したように見えました (ただし、子孫の選択によっては機能します)。

     $j("div.donation-levels div:first-child div div div input").prop('checked',true);

より具体的な階層と:first-childセレクターを使用。

于 2013-11-08T19:05:08.200 に答える
0

クラス $('.class_name')、タグ $('tag_name')、属性名 $('[attribute]')、属性値 $('[attr=""]') および組み合わせで選択できます。そのうちの。jQuery docsをご覧ください。

于 2013-11-06T15:47:02.107 に答える