javascript - 克隆
问题描述
我的网站上有两个下拉菜单。
第一个是使用对我的数据库的ajax调用填充的,它返回一些json。
我希望第二个是第一个的精确副本,但少了一个选项:在第一个下拉列表中选择的选项。
在 jQuery 中有没有方便的方法来做到这一点?
这是我到目前为止所尝试的:
$('#first').find('option').clone().find('option:selected').remove().end().appendTo('#second');
但这只会克隆它,而不会删除选定的选项。
任何帮助深表感谢!
解决方案
您可以使用该方法过滤掉选定的选项not()
,然后将克隆的集合附加到第二个下拉列表中:
$('#first option').not(':selected').clone().appendTo('#second');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="first">
<option>1</option>
<option selected>2</option>
<option>3</option>
</select>
<select id="second"></select>
推荐阅读
- python - 将聊天机器人与 Angular 8 应用程序集成
- svelte - 让 Routeify 使用 #hash
- ios - 致命错误:索引超出范围:文件 Swift/ContiguousArrayBuffer.swift
- haskell - 为什么 Haskell 不允许两个数据构造函数共享“Const”和其他定义的数据属性?
- c++ - 为什么 C++ 编译成功?
- common-lisp - 删除 nil 不会转到列表中的最后一个元素
- typescript - 在 TypeScript 中返回 Union 的隐式类型
- python - IDLE python3.9中的If语句无法正常运行
- python - 来自单独数据库连接的 peewee 多进程“peewee.OperationalError:磁盘 I/O 错误”
- string - SAS如何根据字符串将观察分成多行?