Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery隐藏元素并不是删除元素的空间_Javascript_Jquery_Css - Fatal编程技术网

Javascript 使用jQuery隐藏元素并不是删除元素的空间

Javascript 使用jQuery隐藏元素并不是删除元素的空间,javascript,jquery,css,Javascript,Jquery,Css,因此,我想知道是否有人知道如何解决以下问题: 我有一个带有几个选项的下拉菜单。每个选项都会更改页面,而页眉几乎保持不变 一切都很好,但还有另一个下拉列表,它要么显示所有选项,要么隐藏一些选项,以进行过滤 问题是当我隐藏一些时,它会在第一个下拉菜单中创建一些奇怪的空格。我知道我可以为第二个菜单上的每个选项创建一个不同的下拉列表,但似乎这个解决方案不是最优的,所以我想知道是否还有另一个 这是一把简化的小提琴,显示了我的问题: $('#选择6,#选择5,#选择4,#选择3,#选择2,#选择1')。删

因此,我想知道是否有人知道如何解决以下问题:

我有一个带有几个选项的下拉菜单。每个选项都会更改页面,而页眉几乎保持不变

一切都很好,但还有另一个下拉列表,它要么显示所有选项,要么隐藏一些选项,以进行过滤

问题是当我隐藏一些时,它会在第一个下拉菜单中创建一些奇怪的空格。我知道我可以为第二个菜单上的每个选项创建一个不同的下拉列表,但似乎这个解决方案不是最优的,所以我想知道是否还有另一个

这是一把简化的小提琴,显示了我的问题:

$('#选择6,#选择5,#选择4,#选择3,#选择2,#选择1')。删除()

科马克
科马克
科马克
科马克
科马克
科马克
控制
控制
您必须删除此(选项),而不是禁用

$("#matrizsele option[value='X']").each(function() {
  $(this).remove();
});

注意:这里X是您的选项值

隐藏不是问题;尝试删除以下无意义的代码:

这里有一把固定的小提琴:


你说的奇怪的“间隔”来自
。这是一个禁用的空白选项,当然它会显示一个空白条目。为了更好地理解它,请尝试将代码更改为
fooberEntry

您需要从HTML中删除禁用的选项

<div class="col"> 
<select class="form-control" id="matrizsele" onchange="location = this.options[this.selectedIndex].value;">
    <option id="select1" value="{{ route('layouts.documentos.matriz') }}">COMERC</option>
    <option id="select2" value="{{ route('layouts.documentos.matrizes.matriz2') }}">COMERC</option>
    <option id="select3" value="{{ route('layouts.documentos.matrizes.matriz3') }}">COMERC</option>
    <option id="select4" value="{{ route('layouts.documentos.matrizes.matriz4') }}">COMERC</option>
    <option id="select5" value="{{ route('layouts.documentos.matrizes.matriz5') }}">COMERC</option>
    <option id="select6" value="{{ route('layouts.documentos.matrizes.matriz6') }}">COMERC</option>
    <option id="select7" value="{{ route('layouts.documentos.matrizes.matriz7') }}">CONTR</option>  
    <option id="select8" value="{{ route('layouts.documentos.matrizes.matriz8') }}">CONTR</option>
</select>
</div>

当您隐藏其他选项时,禁用的选项会导致空格。这里是一个更新的

这些额外的空格不是空格,这些是空的禁用选项。从HTML代码段中删除以下内容,它应该可以工作

<option disabled></option>


为什么添加空的禁用选项?问题似乎是禁用的选项而不是隐藏的选项。您可以向要隐藏的选项添加
class=“hidden”
属性,并在css中执行以下操作:
.hidden{display:none!important;}
@JohnyJohnson你可以使用tag,我不明白这个问题是如何在问题不好的情况下得到4个正确答案的,问题是如何获得上升票而不是下降票,答案是获得下降票而不是上升票。很好的工作,所以…那么你是如何禁用它的。你使用javascript来禁用它的吗?你能提供你的代码吗?t此概念已删除,标签未禁用。谢谢,问题解决了。事后看来,这是相当愚蠢的。不过,我还有一个问题。在第二个菜单上,有过滤选项,但也有显示全部的选项。在“全部显示”中,选择菜单相当广泛,我使用了禁用的选项作为分隔符,以方便用户查看。有没有其他办法保持分离器,但也保持它整洁,当我过滤?提前谢谢。@JohnyJohnson您可以使用
optgroup
看看这个:我会试试看。如果我能像其他选择一样隐藏它,这一切都应该解决。再次非常感谢。
<option disabled></option>