gpt4 book ai didi

javascript - 如何正确重置对象项

转载 作者:行者123 更新时间:2023-12-01 05:38:58 24 4
gpt4 key购买 nike

我目前正在做一些事情,需要我将输入字段的值作为对象项。

var test = {
item1:{
subitem1: "", <------- This is the one I'm trying to fill
subitem2: "",
subitem3: "",
subitem4: ""
}
};

当输入字段 #thecontent 时,该值将被填充变化

$('.wrapper').on('change', '#thecontent', function(){
var theContent = $(this).val();
test.item1.subitem1 = theContent;
});

现在,输入文本字段仅在我选中输入复选框 #checkit 后才可见

if(this.checked) {
$('#thecontent').show();
}

但是,如果取消选中该复选框,不仅输入字段会消失,而且对象项也需要重置。目前我正在这样做:

else{
$('#thecontent').hide();
//This part probably needs to be reset in a different way
test.item1.subitem1 = "";
}

但是,如果我在重置一次后尝试再次填充对象项,它就不再用新值填充它。

如何重置对象内的值,以便稍后可以再次填充它?

总结:

  • 复选框 ->
  • 在输入框中输入“这是一个值” ->
  • 点击“测试”->
  • subitem1 在控制台中填充“这是一个值” ->
  • 取消选中该框以重置对象 ->
  • 再次选中该框 ->
  • 输入“这是一个不同的值”->
  • 点击“测试”->
  • 看到空的 subitem1,而我预计控制台中会显示“这是一个不同的值”。

我错过了什么?

<强> Fiddle

最佳答案

如果您不打算在隐藏文本时从输入中删除文本,一种解决方案是简单地以编程方式触发“更改”:

if(this.checked) {
$('#thecontent').show().trigger("change");
}

请参阅更新的 fiddle :http://jsfiddle.net/2dqmkvrr/4/

关于javascript - 如何正确重置对象项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096931/

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