Javascript 在文档准备就绪时触发更改事件
我想重新计算一切,不仅是在更改时,而且在页面加载时 我尝试了以下方法:Javascript 在文档准备就绪时触发更改事件,javascript,jquery,Javascript,Jquery,我想重新计算一切,不仅是在更改时,而且在页面加载时 我尝试了以下方法: $(document).ready(function () { //trigger misc costs $("input[class~='miscc']").trigger('change'); $("input[class~='misch']").trigger('change'); //other events here.... //add up repeate
$(document).ready(function () {
//trigger misc costs
$("input[class~='miscc']").trigger('change');
$("input[class~='misch']").trigger('change');
//other events here....
//add up repeater miscaleneous mnumbers
//dollar amoungs
$("input[class~='miscc']").change(function (event) {
//only allow numbers
this.value = this.value.replace(/[^0-9\.]/g, '');
var sum = 0;
var num = 0;
$("input[class~='miscc']").each(function (event) {
num = parseFloat($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMiscC']").val(sum.toFixed(2));
$("input[class~='cost']").trigger('change');
});
//hours
$("input[class~='misch']").change(function (event) {
//only allow numbers
this.value = this.value.replace(/[^0-9\.]/g, '');
var sum = 0.00;
var num = 0;
$("input[class~='misch']").each(function (event) {
num = parseFloat($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMiscH']").val(sum.toFixed(1));
$("input[class~='hours']").trigger('change');
});
});
但是什么都没有发生,我做错了吗?您正在绑定事件处理程序之前触发事件。首先绑定处理程序,然后触发事件。将更改事件添加到底部
$(document).ready(function () {
//other events here....
//add up repeater miscaleneous mnumbers
//dollar amoungs
$("input[class~='miscc']").change(function (event) {
//only allow numbers
this.value = this.value.replace(/[^0-9\.]/g, '');
var sum = 0;
var num = 0;
$("input[class~='miscc']").each(function (event) {
num = parseFloat($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMiscC']").val(sum.toFixed(2));
$("input[class~='cost']").trigger('change');
});
//hours
$("input[class~='misch']").change(function (event) {
//only allow numbers
this.value = this.value.replace(/[^0-9\.]/g, '');
var sum = 0.00;
var num = 0;
$("input[class~='misch']").each(function (event) {
num = parseFloat($(this).val()) || 0;
sum = sum + num;
});
$("input[id*='txtMiscH']").val(sum.toFixed(1));
$("input[class~='hours']").trigger('change');
});
//trigger misc costs
$("input[class~='miscc']").trigger('change');
$("input[class~='misch']").trigger('change');
});