我有一个jquery keyup
脚本,可以在更改checkbox input
值时更改text input
的数据属性。目前,它仅适用于checkbox input
和text input
的一个实例。但是,我需要修改脚本以适用于10个实例。
在这个fiddle中你可以看到我让它适用于第一个实例编号1,但不适用于2-10。
例如,当用户使用id="account_balance1"
更改输入值时,将触发脚本,如下所示。
<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=""/>
但是我需要它来处理这两个输入的10个实例;对于每个实例,有li id=card_" and input id="account_balance_"
增加1个增量,例如...... li id="card_1"
到li id="card_2"
到li id="card_3"
,依此类推。这与input id="account_balance_1
相同,只有_2
到_3
,依此类推。
这是keyup脚本
$(function () {
$('#account_balance1').on('keyup blur paste', function() {
var self = this;
setTimeout(function() {
var str = $(self).val();
$("input[data-cost][debt]").data('cost',str.replace(/^\$/, ''));
$("input[data-cost][debt]").data('debt',str.replace(/^\$/, ''));
$('#jquery-order-form').data('jprice').onChange();
}, 0)
})
});
答案 0 :(得分:0)
只需更改你的jquery选择器:
而不是:
$('#account_balance_1').on('keyup blur paste', function() {
这样做:
$('.balance').on('keyup blur paste', function() {
这是有效的,因为您所涉及的所有输入都具有类balance
。
在这里小提琴:http://jsfiddle.net/edgarinvillegas/8jdfJ/10/
干杯
答案 1 :(得分:0)
看到这个 http://api.jquery.com/attribute-starts-with-selector/ 您只需使用此选择器来选择适当的元素
$('[id^=account_balance_').on('keyup blur paste', function() {...