gpt4 book ai didi

Jquery 在事件触发器上传递并存储动态变量

转载 作者:行者123 更新时间:2023-12-01 04:19:53 25 4
gpt4 key购买 nike

输入文本框旁边有一个复选框。如果选中该复选框,则文本框将被清空并禁用。但是,我想将之前的值存储在该文本框中,以便如果用户决定取消选中该复选框,该值将返回到文本框。这是我的代码:

function disablePath() {
var currentPath;
$('#user_strategy').on('change','input[value="all"]', function(){
var that = $(this);
if($(this).is(':checked')) {
currentPath = that.next().val();
that.next().attr("disabled", "disabled").val('');
}
else {
that.next().removeAttr("disabled").val(currentPath);
}
});
}

因此,如果我只有一个复选框,后跟一个文本框,那么效果非常好。如果我有多个复选框-文本框组合,我就会遇到麻烦,我就是这样做的。如果我选中多个复选框,则仅存储最后一个文本框内容 - 因此,如果我取消选中任何先前选中的框,则相应的文本框将填充为选中相关复选框的最后一个文本框的值,无论关系如何。有没有办法存储特定于前一个复选框的文本框的值?这是实时代码:

http://kaboukie.net/stackoverflow/

我相信我需要使用 eventData,但不确定如何使用,任何帮助将不胜感激!

最佳答案

我建议将数据附加到元素本身,这可以使用 Jquery 的 .data() 方法来完成。

这是代码,我已经测试过它可以正常工作;)

$(function() {
function disablePath() {
var currentPath;
$('#user_strategy').on('change','input[value="all"]', function(){
var that = $(this);
if($(this).is(':checked')) {
temp= that.next().val();
that.data("currentPath" , temp);
that.next().attr("disabled", "disabled").val('');
}
else {
that.next().removeAttr("disabled").val(that.data("currentPath"));
}
});
}
disablePath();
});

关于Jquery 在事件触发器上传递并存储动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11640761/

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