Javascript 克隆下拉列表选项,并在将其存储在同一下拉列表中后以不同的名称命名
我们是否可以克隆一个下拉菜单选项,并在将其存储在同一个下拉菜单中后对其进行不同的命名 就像我在克隆后从下拉列表中选择了一个选项(如Apple)一样,我需要将其存储为Apple\u copyJavascript 克隆下拉列表选项,并在将其存储在同一下拉列表中后以不同的名称命名,javascript,jquery,css,drop-down-menu,Javascript,Jquery,Css,Drop Down Menu,我们是否可以克隆一个下拉菜单选项,并在将其存储在同一个下拉菜单中后对其进行不同的命名 就像我在克隆后从下拉列表中选择了一个选项(如Apple)一样,我需要将其存储为Apple\u copy <SELECT NAME="list" ID="list"> <OPTION>Apple</OPTION> </SELECT> <FORM NAME="myform" ACTION="" METHOD="GET">
<SELECT NAME="list" ID="list">
<OPTION>Apple</OPTION>
</SELECT>
<FORM NAME="myform" ACTION="" METHOD="GET">
<INPUT TYPE="button" NAME="button" VALUE="Copy" onClick="CopyItem1()"/>
您只能创建克隆并将其附加到选定的
function CopyItem1() {
var $list = $('#list');
var clone = $list.find('option:selected').clone();
$list.append(clone);
}
瞧 我同意parchambault的观点,只需记住OP需要重命名选项:
var $list = $('#list');
var clone = $list.find('option:selected').clone();
var name = clone.html() + "_copy";
clone.attr("name", name);
clone.html(name);
$list.append(clone);
试试这个
function CopyItem1()
{
var $list=$("#list");
$list.append($list.find(':selected').clone().attr("name","newName").text("Apple_copy")); //return the clone of selected option to be appended.
}
在这里,我将名称设置为“newName”,文本更改为“Apple\u copy”
你可以检查小提琴
编辑:
在你的评论之后
function CopyItem1()
{
var $list=$("#list");
var $clone=$list.find(":selected").clone();
var text=$clone.text();
$list.append($clone.attr("name","newName").text(text +"_copy"));
}
现在,如果您复制任何选定的项目,这将附加“\u copy”
Fiddle您到目前为止都在尝试什么?@了解我可以使用上述代码将克隆添加到同一下拉列表中,但需要使用不同的名称保存它,以便与原始版本区分开来。请检查下面的答案。我需要使用不同的名称保存克隆。否则就是克隆和添加在同一个下拉列表中。我想将克隆保存为Apple_copy或其他任何形式,但应将其与原始版本区分开来。@Learning下拉列表中有许多元素,而不仅仅是一个。用户可以选择任何元素并希望制作其副本
function CopyItem1()
{
var $list=$("#list");
var $clone=$list.find(":selected").clone();
var text=$clone.text();
$list.append($clone.attr("name","newName").text(text +"_copy"));
}