克隆一个下拉选项,并在将其存储在同一下拉列表中后以不同方式命名

时间:2014-01-08 19:15:58

标签: javascript jquery css drop-down-menu

我们可以克隆一个下拉选项,并在将其存储在同一下拉列表后以不同方式命名吗?

就像我在克隆后从下拉列表中选择了一个选项(例如Apple),我需要将其存储为Apple_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()"/>

JS

    function CopyItem1() {
        $('#list1').append(function(){
            return $(this).find(':selected').clone(); //return the clone of selected option to be appended.
        });
    }

3 个答案:

答案 0 :(得分:1)

您只能创建克隆并将其附加到选择

function CopyItem1() {
    var $list = $('#list');
    var clone = $list.find('option:selected').clone();

    $list.append(clone);
}

瞧!

答案 1 :(得分:0)

我同意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);

答案 2 :(得分:0)

试试这个

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_copy”

您可以查看小提琴here

编辑:

发表评论后

function CopyItem1()
   {
       var $list=$("#list");
       var $clone=$list.find(":selected").clone();
       var text=$clone.text(); 
       $list.append($clone.attr("name","newName").text(text +"_copy"));
   }

如果您复制任何选定的项目

,现在这将附加“_copy”

小提琴here