Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 对a隐藏特定选项<;选择>;单击时标记_Javascript - Fatal编程技术网

Javascript 对a隐藏特定选项<;选择>;单击时标记

Javascript 对a隐藏特定选项<;选择>;单击时标记,javascript,Javascript,我要隐藏的是标记为“选择机会”的选项。我想在单击从标记创建的下拉列表时隐藏此选项,该标签包含我创建的数组中的选项 您可以在这里看到我创建的代码: <form action="/shop/<?php echo $duration_link; ?>" method="get"> <select name="filter_duration" id="filter_duration"> <?php if(empty($_GET['com

我要隐藏的
是标记为“选择机会”的选项。我想在单击从
标记创建的下拉列表时隐藏此选项,该标签包含我创建的数组中的选项

您可以在这里看到我创建的代码:

<form action="/shop/<?php echo $duration_link; ?>" method="get">
<select name="filter_duration" id="filter_duration">
    <?php

        if(empty($_GET['company'])) {
            ?><option value="hi" selected>Select Duration</option>  
        <?php
        }else{
            ?>
            <option value="" disabled selected>Select Duration</option> <!-- 
This disables the option, but it woiuld be ideal to hide it when clicked.
            <option value="">Clear Duration</option>
            <?php
        }
        foreach ($duration_array as $duration_title => $duration_time) {
            ?><option value="<?=$duration_time?>"><?=$duration_title?>
</option> <!-- This sets the different options for the drop down with the 
duration array -->
            <?php
        }
        ?>
</select>
<!-- Duration: <input type= "text" name= "filter_duration"> -->
<input type="submit"> <!-- This creates a button to submit the information -
->
</form>
<?php
$duration = $_GET['filter_duration'];
$duration_link = '?filter_duration=' . $duration . 
'&query_type_duration=or#individuals-top';
?>
如果你对我如何隐藏这个
有什么想法,那将是一个很大的帮助

非常感谢,
约书亚·戈麦斯

 $(document).ready(function(){
    $('#filter_duration').on('click',function(){
           $("#filter_duration option[value='hi']").hide();
        });
      });
使用隐藏


使用hide

如果不想使用jquery,也可以使用纯javascript。因为在IE中隐藏选项存在一些问题,所以最好删除一个您不想要的选项。看看这里,看看它是如何工作的:

如果您喜欢隐藏,您可以使用
remove()
这样更改行:

document.querySelector("option[value='hi']").style.display = "none";

如果不想使用jquery,也可以使用纯javascript。因为在IE中隐藏选项存在一些问题,所以最好删除一个您不想要的选项。看看这里,看看它是如何工作的:

如果您喜欢隐藏,您可以使用
remove()
这样更改行:

document.querySelector("option[value='hi']").style.display = "none";

如果我理解正确,你根本不需要这样做

您只需为该选项同时设置
已选择
已禁用
属性即可

例如:

<select>
  <option value="" selected disabled>Select duration</option>
  <option value="1">1 minute</option>
  <option value="2">2 minutes</option>
  <option value="3">3 minutes</option>
</select>

选择持续时间
1分钟
2分钟
3分钟

用户无法选择禁用的选项,但可以通过html中的
selected
属性或通过软件修改其
selected
属性来选择禁用的选项


因此,您只需无条件禁用该选项,并将
selected
属性放入正确的属性中。

如果我理解正确,您根本不需要这样做

您只需为该选项同时设置
已选择
已禁用
属性即可

例如:

<select>
  <option value="" selected disabled>Select duration</option>
  <option value="1">1 minute</option>
  <option value="2">2 minutes</option>
  <option value="3">3 minutes</option>
</select>

选择持续时间
1分钟
2分钟
3分钟

用户无法选择禁用的选项,但可以通过html中的
selected
属性或通过软件修改其
selected
属性来选择禁用的选项

因此,您只需无条件禁用该选项,并将
选定的
属性放入正确的属性中。

尝试使用此脚本(您只需添加JQuery)

尝试使用此脚本(您只需要添加JQuery)


隐藏选项的可能副本在IE浏览器中不起作用。您可能想考虑删除/添加选项。在伊江浏览器中,选项隐藏的可能副本不起作用。您可能需要考虑删除/添加选项。
$("#filter_duration").on('change', function (e) {
    var optionSelected = $("option:selected", this);
    var valueSelected = this.value;
    if( optionSelected.text() == 'Select Opportunity' ) {
        $('option[value="'+valueSelected+'"]', this).remove();
    }
});