在此fiddle中,您可以看到我正在处理的脚本使用此plugin来创建估算值。但是,此插件仅允许在checkbox和radiobutton输入中使用数据属性中的预定值。但是,我需要能够输入我想要使用它的值,因此我创建了一个使用keyup来更改名为data-cost
的数据属性的字段。此方法会更新数据属性,但不会触发脚本对输入的新值求和。
我想知道是否有编辑插件或在脚本事件发生时在脚本外触发它。
这是keyup脚本
$(function () {
$('#account_balance1').on('keyup blur paste', function() {
var self = this;
setTimeout(function() {
var str = $(self).val();
$("input[data-cost][debt]").attr('data-cost',str.replace(/^\$/, ''));
$("input[data-cost][debt]").attr('debt',str.replace(/^\$/, ''));
calculateTotalFor() // this is how I do it on inline scripts
}, 0)
})
});
这是从keyup事件更改data-attribute的输入。
<input type="checkbox" checked="checked" data-cost="100" debt="" value="" name="f_2[]"/>
这是为keyup事件输入值的输入
<input type="text" maxlength="7" class="balance" id="account_balance1" name="cardbalance" value=""/>
答案 0 :(得分:1)
通过检查插件源,这可以解决您的问题:
$("input[data-cost][debt]").data('cost',str.replace(/^\$/, ''));
$("input[data-cost][debt]").data('debt',str.replace(/^\$/, ''));
$('#jquery-order-form').data('jprice').onChange();
问题是您更新了html属性,但没有更新内部数据。
在这里你有它的工作: http://jsfiddle.net/edgarinvillegas/8jdfJ/3/
来自玻利维亚拉巴斯的欢呼声