Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 克隆下拉列表选项,并在将其存储在同一下拉列表中后以不同的名称命名_Javascript_Jquery_Css_Drop Down Menu - Fatal编程技术网

Javascript 克隆下拉列表选项,并在将其存储在同一下拉列表中后以不同的名称命名

Javascript 克隆下拉列表选项,并在将其存储在同一下拉列表中后以不同的名称命名,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">

我们是否可以克隆一个下拉菜单选项,并在将其存储在同一个下拉菜单中后对其进行不同的命名

就像我在克隆后从下拉列表中选择了一个选项(如Apple)一样,我需要将其存储为Apple\u copy

  <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"));
   }