Tampermonkey:如果不包含字符串,则在下拉列表中隐藏选项
Tampermonkey: Hide Options in Dropdown if they don't contain a string
我正在编写 Tampermonkey 脚本,以使生活更轻松。想象一下:有一个提供 400 多个选项的下拉菜单。但是,我只需要使用其中两个。所以其他的都可以隐藏。
那我该怎么做呢?目前,我正在使用它,但它并没有真正按照我的意愿进行。
var firstCampaignName = "001 - Campaign";
var secondCampaignName = "002 - Campaign";
这是我想保留的两个选项。我一半认为我可以通过在“- Campaign”或其他东西上将它们都匹配来简化它。因为名字几乎相同。但无论如何。所以这是我正在使用的功能。
$('#dropdown option').each(function(){
if ('#dropdown option'.text() === firstCampaignName || '#brand option'.text() === secondCampaignName)
{
if ($.inArray($(this).text()))
$(this).show();
// If not, hide it
else
$(this).hide();
}
});
很明显我做错了什么。在这的某个地方,我遗漏了一些东西。所以,请帮忙?
要从下拉列表中隐藏除 2 个特定选项之外的所有选项,您可以执行以下操作。请注意,正如 charlietfl 的评论所述,跨浏览器不支持隐藏选项,因此您可以选择删除这些选项而不是隐藏它们,因为您提到您不需要它们。
var firstCampaignName = "001 - Campaign";
var secondCampaignName = "002 - Campaign";
$('#dropdown option').each(function() {
if ($(this).text() === firstCampaignName || $(this).text() === secondCampaignName) {
$(this).show();
} else {
$(this).hide();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="dropdown">
<option value="1">001 - Campaign</option>
<option value="2">002 - Campaign</option>
<option value="3">003</option>
<option value="4">004</option>
<option value="5">005</option>
</select>
我正在编写 Tampermonkey 脚本,以使生活更轻松。想象一下:有一个提供 400 多个选项的下拉菜单。但是,我只需要使用其中两个。所以其他的都可以隐藏。
那我该怎么做呢?目前,我正在使用它,但它并没有真正按照我的意愿进行。
var firstCampaignName = "001 - Campaign";
var secondCampaignName = "002 - Campaign";
这是我想保留的两个选项。我一半认为我可以通过在“- Campaign”或其他东西上将它们都匹配来简化它。因为名字几乎相同。但无论如何。所以这是我正在使用的功能。
$('#dropdown option').each(function(){
if ('#dropdown option'.text() === firstCampaignName || '#brand option'.text() === secondCampaignName)
{
if ($.inArray($(this).text()))
$(this).show();
// If not, hide it
else
$(this).hide();
}
});
很明显我做错了什么。在这的某个地方,我遗漏了一些东西。所以,请帮忙?
要从下拉列表中隐藏除 2 个特定选项之外的所有选项,您可以执行以下操作。请注意,正如 charlietfl 的评论所述,跨浏览器不支持隐藏选项,因此您可以选择删除这些选项而不是隐藏它们,因为您提到您不需要它们。
var firstCampaignName = "001 - Campaign";
var secondCampaignName = "002 - Campaign";
$('#dropdown option').each(function() {
if ($(this).text() === firstCampaignName || $(this).text() === secondCampaignName) {
$(this).show();
} else {
$(this).hide();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="dropdown">
<option value="1">001 - Campaign</option>
<option value="2">002 - Campaign</option>
<option value="3">003</option>
<option value="4">004</option>
<option value="5">005</option>
</select>