簡體   English   中英

如何在嵌入式腳本的keyup事件之后觸發jquery插件

[英]How to trigger a jquery plugin after a keyup event from an inline script

在這個小提琴中,您可以看到我正在使用的腳本,該腳本使用此插件來創建估算值。 但是,此插件僅允許在復選框和單選按鈕輸入中使用數據屬性中的預定值。 但是,我需要能夠輸入要用於其用途的值,因此我創建了一個使用keyup更改名為data-cost的數據屬性的字段。 此方法會更新數據屬性,但不會觸發腳本對輸入的新值求和。

我想知道是否發生編輯插件或在鍵盤鍵入事件發生時在腳本外部觸發它的情況。

這是鍵盤腳本

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

通過檢查插件源,可以解決您的問題:

$("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/

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM