2014-01-11 60 views
0

在此fiddle中,您可以看到我正在使用的腳本使用此plugin來創建估計值。但是,該插件僅允許在複選框和單選按鈕輸入中使用數據屬性中的預定值。然而,我需要能夠輸入我想要使用它的值,所以我創建了一個使用keyup來更改名爲data-cost的數據屬性的字段。此方法確實會更新數據屬性,但不會觸發腳本對輸入的新值進行求和。如何在內聯腳本中的按鍵事件後觸發jquery插件

我想知道是否有編輯該插件,或者在腳本發生緊急事件時觸發它。

這是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事件改變的所述輸入。

<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=""/> 

回答

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/

歡呼聲中,來自拉巴斯,玻利維亞

+0

很高興它幫助你,乾杯 –

+0

嘿埃德加,我在這裏添加了新的問題http://stackoverflow.com/問題/ 21066740/jquery-calculation-script-not-working-after-i-modified-it如果你有機會看看它。 –

+0

嘿邁克爾,我正要回答,但有人已經做了:) –

相關問題