Клонированные раскрывающиеся списки не работают с темой jQuery 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 клонирует блок элемента. выберите элемент, действующий неправильно


person triplethreat77    schedule 16.01.2013    source источник


Ответы (1)


Вы должны добавить униформу к этим конкретным новым элементам. Если вы добавите униформу к элементу, а затем добавьте ее снова к тому же элементу, он сломается. Вы хотите попробовать что-то вроде:

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

или просто:

$("#newID select").uniform();
person mathius1    schedule 17.01.2013
comment
Что ж, приведенный выше код работает. Я отредактировал его, спасибо за ваш вклад. :D - person triplethreat77; 18.01.2013