条件付き選択に関連付けられた複数のフィールドがあります。条件が他の入力フィールドと一致しない場合、入力フィールドは上記のdiv IDのスタイル(display:none)に関連付けられ、一致するものはアクティブなままで、上記のdiv IDに設定(display:block)されます。これはdrupalであるため、私はしません。それを制御することはできません...だからここに生成される例があります-
<div id="edit-field-p1brp-price" class="field-type-text field-name-field-p1brp-price field-widget-text-textfield form-wrapper" style="display: block;">
<div id="field-p1brp-price-add-more-wrapper">
<div class="form-item form-type-textfield form-item-field-p1brp-price-und-0-value">
<label for="edit-field-p1brp-price-und-0-value">
<input id="edit-field-p1brp-price-und-0-value" class="text-full form-text required" type="text" maxlength="255" size="60" value="5,98,000" name="field_p1brp_price[und][0][value]">
</div>
</div>
</div>
<div id="edit-field-sspps-price" class="field-type-text field-name-field-sspps-price field-widget-text-textfield form-wrapper" style="display: none;">
<div id="field-sspps-price-add-more-wrapper">
<div class="form-item form-type-textfield form-item-field-sspps-price-und-0-value">
<label for="edit-field-sspps-price-und-0-value">
<input id="edit-field-sspps-price-und-0-value" class="text-full form-text required" type="text" maxlength="255" size="60" value="4,65,000" name="field_sspps_price[und][0][value]">
</div>
</div>
</div>
<div id="edit-field-sspr1br-price" class="field-type-text field-name-field-sspr1br-price field-widget-text-textfield form-wrapper" style="display: none;">
<div id="field-sspr1br-price-add-more-wrapper">
<div class="form-item form-type-textfield form-item-field-sspr1br-price-und-0-value">
<label for="edit-field-sspr1br-price-und-0-value">
<input id="edit-field-sspr1br-price-und-0-value" class="text-full form-text required" type="text" maxlength="255" size="60" value="3,98,000" name="field_sspr1br_price[und][0][value]">
</div>
</div>
</div>
上記のDIVでDISPLAYがBLOCKである入力のみの値をフェッチする必要があります。以下のDIVIDを表示して試しましたが、戻らず、上記のDIV IDとその値も発生しません(これが最後に試したコードです)-
if (($("#edit-field-p1brp-price-und-0-value:block").length > 0)){
var price = $('#edit-field-p1brp-price-und-0-value').val();
}
if (($("#edit-field-sspps-price-und-0-value:visible").length > 0)){
var price = $('#dit-field-sspps-price-und-0-value').val();
}
if (($("#edit-field-sspr1br-price-und-0-value:visible").length > 0)){
var price = $('#edit-field-sspr1br-price-und-0-value').val();
}
アップデート - -
1つのselect&alertの変更時に値をフェッチするために使用しているコード更新ですが、NULLのみを提供しています。
$(document).ready(function() {
var price = null;
$('div.form-item-field-membership-payment-type-und').change(function() {
$("#edit-field-p1brp-price-und-0-value, #edit-field-sspps-price-und-0-value, #edit-field-sspr1br-price-und-0-value").each(function() {
if($(this).is(':visible')) {
price = $(this).val();
alert(price);
}
});
alert(price);
});
});