gpt4 book ai didi

javascript - 如何知道 JQuery 中元素 onChange 或 onTrigger 的旧值?

转载 作者:行者123 更新时间:2023-11-30 07:26:30 25 4
gpt4 key购买 nike

我有一个按钮:

<button id="btn1">55</button>

所以我将按钮值更改为 test2

$('#btn1').text("22");

如果按钮的旧值大于新值,我想显示背景图片。

如何从此按钮获取旧值?

“我有 100 多个按钮,它们在动态变化。”

更新:是否有一个事件在它发生变化之前触发?

最佳答案

您可以使用 jQuery 的 .data()调用并存储它以供需要时检索。

例如,假设您的 HTML 是:

HTML

<form action="#" method="GET">
<input type="text" value="369" />
<button id="btnID">420</button>
</form>

您可以轻松地首先收集所需的数据并将其分配给每个元素:

Opening script

$("button") //  would simply grab all buttons, you can use whatever css selector
.each(function(i) {
$(this).data("prevVal", parseInt($(this).text()));
});

稍后您可以根据需要根据新值检查此值:

... some change function
$('#btn1').text("22");
if ($('#btn1').data("prevVal") > 22) {
// do work
}
$('#btn1').data("prevVal", 22)

Just FYI

如果您使用输入来代替它会更容易:

$("input").each(function(i) { $(this).data("prevVal", parseInt($(this).val())) })
.on("change", function(e) {
var newVal = parseInt($(this).val());
if ($(this).data("prevVal") > newVal) {
// do work
};
$(this).data("prevVal" newVal);
});

或者如果您想维护一个值列表:

$("input").each(function(i) { 
$(this).data("vals", new Array());
$(this).data("vals").push(parseInt($(this).val()));
})
.on("change", function(e) {
$(this).data("vals").push(parseInt($(this).val()));
var vals = $(this).data("vals");
if (vals[vals.length-1] > vals[vals.length-2]) {
// do work
};
});

关于javascript - 如何知道 JQuery 中元素 onChange 或 onTrigger 的旧值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com