2015-07-20 106 views
0

如果另一個div內的值超過某個值,我想在div內顯示一條消息。我可以解決這個問題,但其他div中的值會根據用戶選擇的內容而改變,然後每次發生這種情況時所需的信息不會出現或消失。我目前使用:根據另一個div內的值顯示或隱藏div的內容?

if ($('#id1').val() < '25') {$('#id2').css('display','none');} 

所以#ID2設置爲顯示正常,但是當一個下拉選擇改變#ID1內顯示的東西不到25它需要消失,反之亦然值。

任何想法?謝謝。

回答

0

您需要:

  1. 綁定事件上#id1
  2. 轉換所選value整數
  3. 比較這對整數25
  4. 使用toggle()顯示/隱藏根據病情
  5. 股利
  6. 觸發器change頁面加載事件

代碼:

$('#id1').on('change', function() { 
    $('#id2').toggle(parseInt($(this).val().match(/\d+/)[0], 10) >= 25); 
}).trigger('change'); 

$('#id1').on('change', function() { 
 
    $('#id2').toggle(parseInt($(this).val().match(/\d+/)[0], 10) >= 25); 
 
}).trigger('change');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script> 
 
<select id="id1"> 
 
    <option value="$0">0</option> 
 
    <option value="£10">10</option> 
 
    <option value="£25">25</option> 
 
    <option value=£50>50</option> 
 
    <option value=£100>100</option> 
 
</select> 
 
<br/> 
 
<br/> 
 
<div id="id2">This should show when greater than or equal to 25</div>

+0

對不起,你已經失去了我。真正的新手在這。那裏的數額是多少?這似乎甚至沒有隱藏起初的div。 – Jerpl

+0

@Jerpl我已經更新瞭解決頁面加載問題的答案。沒有總和,'> ='會檢查值是否大於或等於25 – Tushar

+0

我應該指出#id1內的值是價格,並且將根據從選擇框中的選項中選擇的內容進行更改。所以「選項1」將是10英鎊,「選項2」將是15英鎊,等等。 #id2中的消息僅在#id1中的價格(價值)產生時顯示,並且每次更改該值時都需要更新。 – Jerpl

0

這樣的事情?

$(document).ready(function() { 
 
    $('#id1').on('change', function() { 
 
    if (parseInt($(this).val()) >= 25) { 
 
     $('#id2').show(); 
 
    } else { 
 
     $('#id2').hide(); 
 
    } 
 
    }); 
 
    // initialize div state 
 
    $('#id1').trigger('change'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="id1"> 
 
    <option value=0>0</option> 
 
    <option value=10>10</option> 
 
    <option value=25>25</option> 
 
    <option value=50>50</option> 
 
    <option value=100>100</option> 
 
</select> 
 
<br/> 
 
<br/> 
 
<div id="id2">This should show when greater than or equal to 25</div>