【问题标题】:Filter some prefixes from option list [duplicate]从选项列表中过滤一些前缀[重复]
【发布时间】:2020-05-28 03:30:19
【问题描述】:

我在删除前缀号码 100-199 和 200-299 时遇到问题 来自我网页上的选项列表。

以下代码是我尝试过的:

<select id="category_cabinet" name="category_cabinet" class="form-control" onchange="change_cabinet_search(this.value)">
<option value="0">Please Select</option>
<option value="658">100-PENTADBIRAN</option>
<option value="659">200-PENGURUSAN TANAH &amp; BANGUNAN</option>
<option value="660">300-PENGURUSAN ASET</option>
<option value="661">400-PENGURUSAN KEWANGAN</option>
<option value="662">500-PENGURUSAN SUMBER MANUSIA</option>
<option value="663">100-1-PENTADBIRAN/PERUNDANGAN</option>
<option value="664">100-2-PENTADBIRAN/PERHUBUNGAN AWAM</option>
<option value="679">516-JOHN</option><option value="680">516-1-JOHN/DAVID</option>                      
</select>
<script>
let select = document.querySelector('#category_cabinet').children
for ( let el of select){
  if (el.textContent.match(/^[12]/)) el.remove()
}
</script>

结果如下图所示:

即一些条目被过滤掉了(例如,第一个选项 100-PENTADBIRAN 没有显示)但仍然包括几个与我的正则表达式匹配的条目。

如何显示如下图所示的结果:

即删除代码中与正则表达式匹配的所有选项?

【问题讨论】:

  • @Nick 两种情况不同
  • @ParasRaiyani 以什么方式?

标签: javascript php


【解决方案1】:

这是完美的工作,请试试这个:-->

<select id="category_cabinet" name="category_cabinet" class="form-control" onchange="change_cabinet_search(this.value)">
<option value="0">Please Select</option>
<option value="658">100-PENTADBIRAN</option>
<option value="659">200-PENGURUSAN TANAH &amp; BANGUNAN</option>
<option value="660">300-PENGURUSAN ASET</option>
<option value="661">400-PENGURUSAN KEWANGAN</option>
<option value="662">500-PENGURUSAN SUMBER MANUSIA</option>
<option value="663">100-1-PENTADBIRAN/PERUNDANGAN</option>
<option value="664">100-2-PENTADBIRAN/PERHUBUNGAN AWAM</option>
<option value="679">516-JOHN</option><option value="680">516-1-JOHN/DAVID</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $('#category_cabinet option').each(function(k,v){
             var number=$(v).text().split('-')[0];
            console.log(number,$(v).text());
            if(number >= 100 && number <= 299){
                console.log("remove");
               $(v).remove();
            }
        });
    });
</script>

【讨论】:

    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 2013-11-28
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 2017-12-15
    • 1970-01-01
    相关资源
    最近更新 更多