簡體   English   中英

如何在jQuery中保留keyup事件的第一個原始值

[英]How can I preserve first original value on keyup event in jQuery

這是我的小提琴: http : //jsfiddle.net/dQ6vZ/22/

我遇到的情況是重復帶有一些數值的元素。

<div class="chars">
    <textarea></textarea>
    <span class="myVal">5</span>
    <span class="pres"> - preserved: 5</span>
</div>

<div class="chars">
    <textarea></textarea>
    <span class="myVal">10</span>
    <span class="pres"> - preserved: 10</span>
</div>

在keyup事件(鍵入文本時)時,應該保留myVal類中span元素的第一個原始值,但在與我鍵入的元素相同的值中更新值。

因此,如果原始值為5,則在用新值替換用戶可見的值時,需要保留5。

我的開始看起來像這樣:

var new_value = 0;

$( ".chars" ).keyup(function() {

    var preserved_increment = parseInt($(this).find(".myVal").text());

    var text_length = parseInt($(this).find("textarea").val().length);

    new_value = text_length + preserved_increment;

    $(this).find(".myVal").text( new_value );
    $(this).find(".pres").text( " - not preserved: " + preserved_increment );
});

使用jQuery提供數據功能來完成此任務。

我已經更新了您的代碼,以保留文本區域內的原始值。 jsfiddle

要訪問原始值,只需調用:

    var originalValue = $(this).find(".myVal").data("original")

使用data- *屬性,然后使用jQuery的.data方法獲取值

的HTML

<div class="chars">
    <textarea></textarea>
    <span class="myVal" data-preserved="5">5</span>
    <span class="pres"> - preserved: 5</span>
</div>

JS

var preserved_increment = parseInt($(this).find(".myVal").data("preserved"));

JSFiddle

暫無
暫無

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

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