Jquery在onload中更改onchange

时间:2015-03-31 08:29:36

标签: javascript jquery html

如何修改此代码,使其在pageload上运行并删除лв?我希望该函数在onload事件上运行,而不是在onchange事件上运行。

HTML

<input type="hidden" value="79.00лв" id="cenazatbi" name="cenazatbi"/ >
<div id="tbi">
    text
</div>

的Javascript

$("#cena").change(function() {

    if ($(this).val() < 150) {
        $("#tbi").css("display", "none");
    }    
    else if ($(this).val() >150.01) {
        $("#tbi").css("display", "block");
    }
});

3 个答案:

答案 0 :(得分:0)

使用此document.ready功能将适用于页面加载

$(document).ready(function () {  
if ($(this).val().replace('лв') < 150) {
    $("#tbi").css("display", "none");
} else if ($(this).val().replace('лв') >150.01) {
     $("#tbi").css("display", "block");
}
});`

答案 1 :(得分:0)

当dom满载时,您可以使用$(document).ready执行函数:

$(document).ready(function () {
    var val = parseInt($('#cenazatbi').val(), 10);
    if (val < 150) {
        $("#tbi").css("display", "none");
    } else if (val > 150.01) {
        $("#tbi").css("display", "block");
    }
});

函数.parseInt()将删除值的所有非数字字符,并将string转换为integer。 作为替代方案,您也可以使用Number() - 函数。

Demo

<强>参考

.ready()

parseInt()

Number()

答案 2 :(得分:0)

使用$()进行页面加载操作:

&#13;
&#13;
$(function() {
  var amt = $('#cenazatbi').val().replace(/[^\d\.]/g, ''); // replace all other than digits and periods
  amt = +(amt); // parse to number, can also use parseFloat()
  $('#tbi').toggle(amt < 150.0); // hide if less than given amount
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="hidden" value="79.00лв" id="cenazatbi" name="cenazatbi" />
<div id="tbi">text</div>
&#13;
&#13;
&#13;