我有以下jQuery触发keyup上的函数。
$(document).ready(function() {
$("#calc").on("keyup", "input[type='text']", function() {
calculateSum(this);
});
calculateSum();
});
函数calculateSum在这里找到:http://jsfiddle.net/pmetzger/ANp8u/2/
如果我将一个值作为默认值加载到输入字段中,很明显computeSum不会触发,因为它不是键盘。
我确实需要能够在输入字段中加载一个默认值,我需要在负载时触发calculateSum函数,以防有需要计算的值。我在document.ready的末尾添加了calculateSum()函数,但它只会加载全局子总计。我需要它运行,好像我在值字段中键入。我也试过触发事件,但也没有运气。
我已经在那里放了一些默认值进行测试。
答案 0 :(得分:1)
试试这个
var $elem = $('input[type="text"]', "#calc");
$elem.each(function($input) {
if($input.val()) {
$input.trigger('keyup');
}
});
答案 1 :(得分:0)
你可以这样做来触发第一个元素上的绑定事件,你不需要在所有元素上触发它,因为它将运行X元素。
$(document).ready(function() {
$("#calc").on("keyup", "input[type='text']", function() {
calculateSum(this);
});
$("input[type='text']").trigger("keyup");
});
答案 2 :(得分:0)
您需要在输入上调用触发器或手动运行它们,如下所示:
$(document).ready(function() {
//Bind the event
$("#calc").on("keyup", "input[type='text']", function() {
calculateSum(this);
}).find("input[type='text']").each(function() {
calculateSum(this);
});
});