JQuery选择函数不显示div
在另一个Stackoverflow帖子的帮助下,我有一个JQuery函数,它根据当前在选择/下拉列表中选择的内容隐藏/显示div。这个很好用 编辑记录时,选择字段的存储值显示在选择/下拉列表中,但相应的div保持隐藏,直到对选择字段进行更改 代码 我尝试了上述代码的各种组合,以在更新视图值上直接显示div,但到目前为止都没有成功JQuery选择函数不显示div,jquery,Jquery,在另一个Stackoverflow帖子的帮助下,我有一个JQuery函数,它根据当前在选择/下拉列表中选择的内容隐藏/显示div。这个很好用 编辑记录时,选择字段的存储值显示在选择/下拉列表中,但相应的div保持隐藏,直到对选择字段进行更改 代码 我尝试了上述代码的各种组合,以在更新视图值上直接显示div,但到目前为止都没有成功 任何帮助都将不胜感激 请发布相应的HTML,我很难理解您的确切问题,但我详细分析了您的代码在做什么,这样您就可以从中找到答案 <script> $(
任何帮助都将不胜感激 请发布相应的HTML,我很难理解您的确切问题,但我详细分析了您的代码在做什么,这样您就可以从中找到答案
<script>
$(document).ready(function () {
$('.jshideshow').hide(); // 1
$('#id_selection_basis').change(function () {
$('.jshideshow').hide(); // 2
$('#'+$(this).val()).show(); // 3
})
});
</script>
由于默认情况下隐藏.jshideshow,因此将display:none设置为在html中的元素上内联,或者将其添加到css类中,但这不会导致您的问题
这也隐藏了.jshideshow——为什么需要隐藏已经隐藏的东西?如果所有要显示/隐藏的div都有这个类,那么在调用之前就隐藏了它们,这是有意义的
这将显示id\u selection\u basis值中包含的任何元素
如果要将元素添加到id_selection_basis,则需要使用$document侦听更改事件。在'change','id_selection_basis',函数{…}。事件侦听器在页面加载时绑定到DOM,因此如果在页面加载后向DOM添加元素,则需要在$document上侦听它。经过一次小小的顿悟,我想我找到了解决方案。希望它能帮助其他有类似问题的人
<script>
$(document).ready(function () {
$('.jshideshow').hide();
var failureValue = $( "#id_selection_basis" ).val();
$('#' + failureValue).show();
$('#id_selection_basis').change(function () {
$('.jshideshow').hide();
$('#'+$(this).val()).show();
})
});
</script>
请在questionHi@Brian中添加相关HTML,这是我获得代码的演示:这很好用。但是,当我在Django中打开一个更新视图,并且选择/下拉列表有一个值时,相应的div保持隐藏状态,直到选择/下拉列表上发生“更改”。希望这是有意义的,谢谢您的帮助。@Karl您正在隐藏.jshideshow页面加载,在触发更改事件之前它不会再次显示。不要隐藏要在加载时显示的div。谢谢您的帮助。我想我找到了解决办法。不知道它有多优雅,但它似乎做到了这一点!再次感谢。
<script>
$(document).ready(function () {
$('.jshideshow').hide();
var failureValue = $( "#id_selection_basis" ).val();
$('#' + failureValue).show();
$('#id_selection_basis').change(function () {
$('.jshideshow').hide();
$('#'+$(this).val()).show();
})
});
</script>