克隆下拉不适用于jQuery Uniform主题

时间:2013-01-16 15:13:14

标签: javascript jquery drop-down-menu clone uniform

好的,再一次,我遇到了jQuery统一主题的障碍。 http://uniformjs.com/我正在使用文本输入,下拉列表和按钮来克隆行以添加(克隆)或删除行。问题是,一旦我克隆了一行,就无法更改新行上的下拉选择。如果我禁用统一功能,它就可以工作。

<!---<script type="text/javascript" charset="utf-8">
  $(function(){
    $("input:text, input:file, select, textarea, input:button").uniform();
  });
</script>--->

这是我的代码。统一更新似乎也不起作用。

//
id=0;
$("table#customers_tab img.remove").live("click", function (event) {
        $(this).parents("tr").remove();
  var remove_id = event.target.id;

  var index = remove_id.substring(6);

  var table = document.getElementById("customers_tab");
  for(var i=parseInt(index); i<table.rows.length;i++){
    $($('table#customers_tab tr')[i]).find("img.add").attr("id","add"+i);
    $($('table#customers_tab tr')[i]).find("img.remove").attr("id","remove"+i);

  }

    });

$("table#customers_tab img.add").live("click", function (event) {
        id++;
        var master = $(this).parents("table#customers_tab");
        var add_id = event.target.id;

  var index = add_id.substring(3);

  var prot = $($('table#customers_tab tr')[index]).clone();
  var incr = parseInt(index)+1;

  prot.find("img.add").attr("id","add"+incr);

        $('.feature').live('change',function(){ ////SOLUTION HERE
            $.uniform.update("select"); ////
        }); ////

  $($('table#customers_tab tr')[index]).after(prot);
  var table = document.getElementById("customers_tab");

  for(var i=incr+1; i<table.rows.length;i++){
    $($('table#customers_tab tr')[i]).find("img.add").attr("id","add"+i);
    $($('table#customers_tab tr')[i]).find("img.remove").attr("id","remove"+i);

  }
    $.uniform.update(); //NOT WORKING
    });
$("#delAllCustomers").live("click", function (event) {
  $("#customers_tab").children().remove();
});
//

这与我的问题非常相似,但没有解决我的问题。 jquery cloning a block of element. select element acting weired

1 个答案:

答案 0 :(得分:0)

您必须为这些特定的新元素添加制服。如果向元素添加uniform,则将其再次添加到它将断开的同一元素中。你想尝试类似的东西:

$("#newID1 input:text, #newID2 input:file, #newID3 select, #newID4 textarea, #newID5 input:button").uniform();

或只是:

$("#newID select").uniform();