【问题标题】:copy/Clone dropdown list with selected option in jquery在 jquery 中复制/克隆带有选定选项的下拉列表
【发布时间】:2011-04-21 04:13:46
【问题描述】:

如何克隆带有所选选项的下拉列表(组合框)?

jquery .clone 方法在 firefox 中不适用于所选选项。

我有一个具有不同控件的 div。我必须将整个 div 复制到类似这样的变量中

var $orginalDiv = $('#myDiv');
var $clonedDiv = $orginalDiv.clone();

$clonedDiv.find('select').each(function() {


....Something do here for assigning selected options from original div ..

            });

让我知道我们怎样才能完成它,它必须在 FireFox 中工作。

【问题讨论】:

标签: javascript jquery drop-down-menu


【解决方案1】:

您好,您有一个带有一些图像掩码的 customedropdown,那么简单克隆将不会显示选定的值,因为您必须首先将一个下拉列表的选定值分配给第二个下拉列表,然后隐式调用更改事件,如下所示。 $('select[id*=cstate]').val($("select[id*=state]").val()); $("#cstate").change();

【讨论】:

    【解决方案2】:

    你能实现一个按钮来克隆下拉列表吗?

    【讨论】:

    • 是的,只需在按钮的点击处理程序中使用$(dropdown).clone()
    • 如何更改克隆的下拉菜单的名称和id属性。我使用了$(dropdown).clone().attr("name","Skill");但它不工作:(
    【解决方案3】:
    var $orginalDiv = $('#myDiv');
    var $clonedDiv = $orginalDiv.clone();
    
    //get original selects into a jq object
    var $originalSelects = $orginalDiv.find('select');
    
    $clonedDiv.find('select').each(function(index, item) {
    
         //set new select to value of old select
         $(item).val( $originalSelects.eq(index).val() );
    
    });
    

    在 jsfiddle 上试试 here

    【讨论】:

    • +1 如果select 不是兄弟姐妹,我不确定索引是否可以工作,但works
    • +1 现在它可以工作了。Nice Ans,展示了 jQuery 的良好体验。谢谢
    猜你喜欢
    • 2019-09-16
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多