2014-07-09 42 views
0

上keyup事件第一原值這裏是我的小提琴: http://jsfiddle.net/dQ6vZ/22/我如何保存在jQuery的

我在那裏我有一些數值重複元素的情況下。

<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事件(鍵入文字時)我應該保留從span元素與一流的設爲myVal第一個原始值,但在相同的元素來更新值作爲I型。

因此,如果原始值是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); 
}); 
+0

這樣做:的 10 在JS,你可以使用attr讀它( 「PRES」) –

+0

你可能要指定一個基數爲你' parseInt()函數調用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt – Jasper

回答

1

使用數據 - *屬性,然後使用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

+0

謝謝。我很感激幫助。 – GRowing

1

使用data function provided by jQuery這項任務。

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

訪問原始值,只需撥打:

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

感謝您的參考鏈接。這非常有幫助。 – GRowing