gpt4 book ai didi

jQuery 删除/隐藏元素

转载 作者:行者123 更新时间:2023-12-01 08:15:57 24 4
gpt4 key购买 nike

我有一个选择标签,当它的值发生变化时,我想根据新值从数据库中获取一些数据,然后将这些新数据放在一个新的div上,当用户单击它时,该div包含一个关闭符号,新的 div 将隐藏,我使用 jquery 做到了这一点,除了隐藏新的 div 之外,一切都运行良好,我用于关闭新 div 的 jQuery 运行良好,但现在不行,我不认为我在 jQuery 中做错了,但我不知道我的错误在哪里,请你帮助我

jQuery 代码

$(document).ready(function(){
$("#aqIoQuesSelector").on("change",function(){
var IO = $("#aqIoQuesSelector").val();
$("#aqSugInfo").html('<div class="closeSign1"></div>');
$.getJSON("http://localhost/Mar7ba/InformationObject/giveContenfForIO/"+IO+"/TRUE",function(data){
if(data.length>0){
$("#aqSugInfo").css("text-align","right");
for(var i=0;i<data.length;i++){
$("#aqSugInfo").append('<p><span class="aqoneContenSug">'+data[i]+'</span></p>');
}
}else{
$("#aqSugInfo").append('<span class="successMessage">no suggesiont</span>');
}
$("#aqSugInfo").css("display","block");
});
});
});

$(document).ready(function(){
$('.closeSign1').on('click', function() {
$(this).parent().hide();
});
});

$html代码#

<div id="addQuestion1" class="container">
<ul>
<li>
<label class="Paragraph">Question</label>
<p>
<label>Text</label>
<input id="aqQuestionText"type="text" class="longInput1"/>
</p>
<p>
<label>Answer</label>
<input id="aqQuestionAnswer"type="text" class="longInput1"/>
</p>
<p>
<label>Is Existed ?</label>
<input type="button" value="check" class="button1" id="aqQuestionSug"/>
</p>
<div id="aqSugQues" class="SuggestionsContainer">
<div class="closeSign1"></div>
</div>
</li>
<li>
<p><label class="Paragraph">Choices</label></p>
<p>
<label>First Choice</label>
<input type="text" class="longInput1" name="choice1"/>
</p>
<p>
<label>Second Choice</label>
<input type="text" class="longInput1" name="choice2"/>
</p>
<p>
<label>Third Choice</label>
<input type="text" class="longInput1" name="choice3"/>
</p>
</li>
<li id="aqQuestionIoli">
<label class="Paragraph">Question IO</label>
<p>
<label>Concept</label>
<select class="ConceptSelector1"></select>
</p>
<p>
<label>IO</label>
<select id="aqIoQuesSelector"></select>
</p>
<p>
<label>Info</label>
<input type="text" class="longInput1"/>
</p>
<div id="aqSugInfo" class="SuggestionsContainer">
<div class="closeSign1"></div>
</div>
</li>
<li id="aqAnswerIoli">
<label class="Paragraph">Answer IO</label>
<p>
<label>Concept</label>
<select class="ConceptSelector1"></select>
</p>
<p>
<label>IO</label>
<select id="aqIoAnswerSelector"></select>
</p>
</li>
<li>
<label class="Paragraph">Hints</label>
<p>
<label>First Hint</label>
<input type="text" class="longInput1"/>
</p>
<p>
<label>Second Hint</label>
<input type="text" class="longInput1"/>
</p>
<div id="aqSugHints" class="SuggestionsContainer">
<div class="closeSign1"></div>
</div>
</li>
<li>
<label>Type</label>
<select class="TypeSelector"></select>
</li>
<li>
<input type="submit" value="save" class="button1"/>
</li>
</ul>
</div>

请注意,这里使用了三次 close 符号,它第一次在 div aqSugQues 中起作用,但在 div aqSugInfo 和 div 中不起作用。 div aqSugHints

ajax 运行良好,我打印了结果

感谢您的帮助

最佳答案

这一行:

$("#aqSugInfo").html('<div class="closeSign1"></div>');

正在用一个没有绑定(bind)点击事件的新按钮替换 div 的内容,因此每次更新时,该按钮都会失去其绑定(bind)。

您可以尝试将动态内容包装在可以轻松删除的容器中,或者执行类似的操作

$("#aqSugInfo").children(':not(.closeSign1)').remove();

关于jQuery 删除/隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10743801/

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