私はjQueryを使用して、20000未満または20000より大きい場合に何かを非表示または表示しようとしています
これは私が使用しているテーブル要素です。td.weightは、カスタム配送計算機を使用して動的に入力されます。20000ポンドのAPIによって返される最大重量があり、それからゼロになります。
計算された体重が20000ポンドを超えるか20000ポンド未満の場合、divを非表示または表示してユーザーに通知しようとしています。
この出力の場合、div.shipping-weightを表示します。
<td class="weight"> 20000 <small><em> lb's </em></small><br>
<div class="shipping-weight"><small>*Note: Up to 20,000 lbs max. For shipping requirements over 20,000 lb's call our</small><br>
<small>PRICING HOTLINE: 1-877-444-444 </small>
</div>
</td>
この出力の場合、div.shipping-weightを非表示にします。
<td class="weight"> 19456 <small><em> lb's </em></small><br>
<div class="shipping-weight"><small>*Note: Up to 20,000 lbs max. For shipping requirements over 20,000 lb's call our</small><br>
<small>PRICING HOTLINE: 1-877-444-444 </small>
</div>
</td>
これが私がこれまでに持っているものです。
$('td.weight').filter(function(index){
return parseInt(this.innerHTML) > 20000;
}).show('.shipping-weight');
これがjsfiddelです
*リビジョン:
これは私のajaxリクエストでは発生しないようですが、jsfiddleでは機能します。keyupとlivequeryを使用してリクエストを行っています。次のように:
$('.input-mini').keyup().livequery('change', function () {
url = $(this.form).attr('action');
data = $(this.form).serialize();
$.post(url, data, function () {
$('#checkout').load('/store/checkout_table');
$('#checkout_form').attr('action', url);
$('.weight').filter(function(index){
var num = parseInt(this.firstChild.textContent);
return num >= 20000;
}).find('.shipping-weight').show();
$.cookie('all_cookie', null);
});
return false;
});