2015-07-20 74 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>