jquery - 使用 jQuery 过滤 SELECT 列表

标签 jquery

我正在尝试找出如何动态过滤 SELECT 列表。

我有一个这样的列表:

<div class="domainreginput" id="domainexisting_domain">
<select id="incartsld">
<option value="example.com">example.com</option>
<option value="example2.com">example2.com</option>
<option value="example.net">example.net</option>
<option value="example.rocks">example.rocks</option>
</select> <input type="submit" value="Click to Continue >>" />
</div>

该列表可以包含具有任何扩展名的域名。但出于此特定目的,我只想显示具有某些 TLD 的域。在此示例中,假设为 .com 和 .net。

因此,如果我提供允许的 TLD 列表,如下所示:

var allowedTLD = [".com", ".net"];

如何使用 jQuery 从 SELECT 列表中删除任何没有与允许数组中的 TLD 匹配的域?

我对 jQuery 相当陌生,并尝试四处寻找这个问题的答案,但找不到类似的东西。

如果有帮助,这是用于匹配允许的域的实际正则表达式:

/\.(com|net|org|biz|info|name|tv|cc|me|pro|mobi|cm|co|ws)$/i

最佳答案

这是一种方法:

var allowedTLD = [".com", ".net"];
$('#incartsld option').filter(function () {
    return !($.inArray('.'+$(this).val().split('.').pop(), allowedTLD) > -1)
}).remove()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="domainreginput" id="domainexisting_domain">
    <select id="incartsld">
        <option value="example.com">example.com</option>
        <option value="example2.com">example2.com</option>
        <option value="example.net">example.net</option>
        <option value="example.bix">example.biz</option>
    </select>
    <input type="submit" value="Click to Continue >>" />
</div>

或者:

var allowedTLD = /\.(com|net|org|biz|info|name|tv|cc|me|pro|mobi|cm|co|ws)$/i;
$('#incartsld option').filter(function() {
  return ($(this).val().match(allowedTLD) == null)
}).remove()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="domainreginput" id="domainexisting_domain">
  <select id="incartsld">
    <option value="example.com">example.com</option>
    <option value="example2.com">example2.com</option>
    <option value="example.net">example.net</option>
    <option value="example.bix">example.biz</option>
  </select>
  <input type="submit" value="Click to Continue >>" />
</div>

关于jquery - 使用 jQuery 过滤 SELECT 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29301854/

相关文章:

javascript 逗号未编码

javascript - 删除页面中所有样式的最简单方法

javascript - jQuery 的 :hidden selector not working in IE9 Quirks Mode

javascript - 即使表格切换为不可见,粘性标题也会出现在滚动上

javascript - 获取 html DOM 元素内容周围的边框

javascript - jquery ajax-如何检查重复名称

javascript - .focus() Jquery 仅运行一个事件

javascript - 通过JS和html调用REST API

javascript - css (this) 元素和输入背景颜色

javascript - 单击确认消息框中的取消按钮后如何清除文本框?