Утверждение jquery, с ajax

Оцененные, вместе с приветствованием, я комментирую им мой недостаток.

У меня есть формуляр с несколькими подмостками (в этих подмостках я имею info основная владельцев, представителей, и т.д.), санкционированных с jquery санкционируй тебя. Отдельно внутри подмостков, в части имени у меня есть поле, отделенное в именах, отцовской и материнской фамилии. В предстоящем 'td' находится rut. Если rut преодолевает 50 миллионов, это rut предприятия а принадлежит натуральному человеку. До сих пор, все добро с утверждениями. Но попробовав реализовывать это же самое утверждение в другой таблице, далее эта НЕ ФУНКЦИОНИРУЕТ.

Отдельно я комментирую им, что в подмостках, у меня есть один 'добавлять' динамической формы, которую я реализую также с JQuery. Их присоединил мой код, для того, чтобы они это увидели и вели меня из-за правильной дорожки.

Код HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
    <form role="form" method="post" action="index.php" name="form_" id="form_" class="forms_formularios" enctype="multipart/form-data">
        <table border="0" class="tablaConBorde table clone-group1" id="" >
            <thead>
                <tr class="fondoResaltado_1">
                    <td style="width: 70%;" >
                        NOMBRES DEL PROPIETARIO 
                    </td>
                    <td style="width: 20%;" align="center">
                        RUT
                    </td>
                    <td style="width: 10%;" align="center">
                        Agregar / Eliminar
                    </td>
                </tr>
            </thead>
            <tbody >
                <tr class="form-group clone1" >
                    <td>
                        <input class="form-control 2_nombres_prop" placeholder="Nombres" style="width: 38%; display: inline;" disabled id="2_nombres_prop" value="" name="2_nombres_prop[]" type="text" />
                        <input class="form-control 2_ape_p_prop" placeholder="Apellido Paterno" style="width: 30%; display: inline;" disabled id="2_ape_p_prop" value="" name="2_ape_p_prop[]" type="text" />
                        <input class="form-control 2_ape_m_prop" placeholder="Apellido Materno" style="width: 30%; display: inline;" disabled id="2_ape_m_prop" value="" name="2_ape_m_prop[]" type="text" />
                    </td>
                    <td >
                        <input class="form-control 2_rut_prop" onblur="valida_rut_pro( $(this).val(), $(this).parents('tr').attr('id') )" id="2_rut_prop" value="" name="2_rut_prop[]" type="text" />
                    </td>
                    <td align="center" >
                        <button type="button" class="btn btn-primary addButton1" aria-label="Left Align" id="">
                            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Agregar
                        </button>
                    </td>
                </tr>
            </tbody>
        </table>

        <table border="0" class="tablaConBorde table clone-group2" id="" >
            <thead>
                <tr class="fondoResaltado_1">
                    <td style="width: 70%">
                        REPRESENTANTE LEGAL
                    </td>
                    <td style="width: 20%;" align="center" >
                        RUT
                    </td>
                    <td style="width: 10%;" align="center">
                        Agregar / Eliminar
                    </td>
                </tr>
            </thead>
            <tbody>
                <tr class="form-group clone2" >
                    <td >
                        <input class="form-control 2_rep_legal_nombres" placeholder="Nombres" style="width: 38%; display: inline;" disabled id="2_rep_legal_nombres" value="" name="2_rep_legal_nombres[]" type="text" />
                        <input class="form-control 2_rep_legal_ape_p" placeholder="Apellido Paterno" style="width: 30%; display: inline;" disabled id="2_rep_legal_ape_p" value="" name="2_rep_legal_ape_p[]" type="text" />
                        <input class="form-control 2_rep_legal_ape_m" placeholder="Apellido Materno" style="width: 30%; display: inline;" disabled id="2_rep_legal_ape_m" value="" name="2_rep_legal_ape_m[]" type="text" />
                    </td>
                    <td>
                        <input class="form-control 2_rep_legal_rut" onblur="valida_rut_rp( $(this).val(), $(this).parents('tr').attr('id') )" id="2_rep_legal_rut" value="" name="2_rep_legal_rut[]" type="text" />
                    </td>

                    <td align="center" >
                        <button type="button" class="btn btn-primary addButton2" aria-label="Left Align" id="">
                            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Agregar
                        </button>
                    </td>
                </tr>
            </tbody>
        </table>

        <input type="hidden" class="n_item_1" name="n_item_1" value="0">
        <input type="hidden" class="n_item_2" name="n_item_2" value="0">


    </form>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui.js"></script>
    <script type="text/javascript" src="js/validate_v_shcl.js"></script>
    <script type="text/javascript" src="js/datepicker-es.js"></script>
    <script type="text/javascript" src="js/jquery.Rut.js"></script> 
    <script type="text/javascript" src="js/jquery.validate.js"></script>
    <script type="text/javascript" src="js/additional-methods.js"></script>
    <script src="js/ie10-viewport-bug-workaround.js"></script>

</body>

Код JS, чтобы добавлять подмостки dinámicamente

$(function(){
/********************* PARA DINAMICAS - NUEVA FORMA ******************************/
// PROPIETARIO
// var i = 0;
var i = parseInt($('.n_item_1').val(), 10);
var bFlag1=i;
var cloneItem = $(".clone1:last");//class de la tabla
var cloneWrap = $(".clone-group1");//div
$(".addButton1").on("click", function () {
    bFlag1++;
    if(i < 4){          
        i=i+1;
        var clon = cloneItem.clone(true).attr('id', '_'+bFlag1).appendTo(cloneWrap);
        clon.find('[type=text]').val('');

        clon.find(".addButton1")
        .replaceWith( '<button type="button" class="btn btn-primary remButton1" aria-label="Left Align"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</button>');

        $( ".n_item_1" ).remove();
        str_id = '<input type="hidden" class="n_item_1" name="n_item_1" value="'+i+'">';
        $("#form_").append(str_id);

    }
});
$("body").on("click", ".remButton1", function () {
    $(this).closest(".clone1").remove();
    i=i-1;
    $( ".n_item_1" ).remove();
    str_id = '<input type="hidden"  class="n_item_1" name="n_item_1" value="'+i+'">';
    $("#form_").append(str_id);
});

// REP LEGAL
// var i2 = 0;
var i2 = parseInt($('.n_item_2').val(), 10);
var bFlag2=i2;
var cloneItem2 = $(".clone2:last");//class de la tabla
var cloneWrap2  = $(".clone-group2");// div
$(".addButton2").on("click", function () {
    bFlag2++;
    if(i2 < 4){
        i2 = i2 + 1; 
        var clon = cloneItem2.clone(true).attr('id', '_'+bFlag2).appendTo(cloneWrap2);
        clon.find('[type=text]').val('');
        // clon.find('[type=email]').val(''); // para input text de tipo email

        clon.find(".addButton2")
        .replaceWith( '<button type="button" class="btn btn-primary remButton2" aria-label="Left Align"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</button>');

        $( ".n_item_2" ).remove();
        str_id2 = '<input type="hidden" class="n_item_2" name="n_item_2" value="'+i2+'">';
        $("#form_").append(str_id2);

    }
});
$("body").on("click", ".remButton2", function () {

    $(this).closest(".clone2").remove();
    i2 = i2 - 1;

    $( ".n_item_2" ).remove();
    str_id2 = '<input type="hidden"  class="n_item_2" name="n_item_2" value="'+i2+'">';
    $("#form_").append(str_id2);
}); });

Код JS, чтобы санкционировать показанное в поле rut:

function valida_rut_pro(xRut, id){
    // ARMAMOS LA VARIABLE 'ID' DEL TAG
    var clone1='#'+id;
    // alert("1.:"+xRut);
    var xurl="vws/ajax_validar_rut.php?rut="+xRut;
    // alert(1);
    $.ajax({
        url: xurl,
        type: "GET",
        beforeSend: function(){
            $(clone1+" #2_nombres_prop").prop('disabled', true);
            $(clone1+" #2_ape_p_prop").prop('disabled', true);
            $(clone1+" #2_ape_m_prop").prop('disabled', true);  
            // alert(2);
        },
        success: function(data){
            // alert(3)
            if(data){
                // alert(4);
                if(data==1){
                    $(clone1+" #2_ape_p_prop").prop('disabled', false);
                    $(clone1+" #2_ape_p_prop").focus();
                    // alert(5);
                }
                else if(data==0){
                    $(clone1+" #2_nombres_prop").prop('disabled', false);
                    $(clone1+" #2_nombres_prop").focus();
                    $(clone1+" #2_ape_p_prop").prop('disabled', false);
                    $(clone1+" #2_ape_m_prop").prop('disabled', false);
                    // alert(6);
                }
            }
        },
        error: function(){
            // alert("cuek!");
        }
    });
}

function valida_rut_rp(xRut, id){
    // ARMAMOS LA VARIABLE 'ID' DEL TAG
    var clone2='#'+id;
    // alert("1.:"+xRut);
    var xurl="vws/ajax_validar_rut.php?rut="+xRut;
    alert(1);
    $.ajax({
        url: xurl,
        type: "GET",
        beforeSend: function(){
            $(clone2+" #2_rep_legal_nombres").prop('disabled', true);
            $(clone2+" #2_rep_legal_ape_p").prop('disabled', true);
            $(clone2+" #2_rep_legal_ape_m").prop('disabled', true); 
            alert(2);
        },
        success: function(data){
            alert(3)
            if(data){
                alert(4);
                if(data==1){
                    alert("clone2: "+clone2)
                    $(clone2+" #2_rep_legal_ape_p").prop('disabled', false);
                    $(clone2+" #2_rep_legal_ape_p").focus();
                    alert(5);
                }
                else if(data==0){
                    $(clone2+" #2_rep_legal_nombres").prop('disabled', false);
                    $(clone2+" #2_rep_legal_nombres").focus();
                    $(clone2+" #2_rep_legal_ape_p").prop('disabled', false);
                    $(clone2+" #2_rep_legal_ape_m").prop('disabled', false);
                    alert(6);
                }
            }
        },
        error: function(){
            // alert("cuek!");
        }
    });
}

Вышеупомянутое для идентификации динамического TR

$(document).ready(function(){

    // le damos/iniciamos un id en el clon hijo
    var r=0;
    $(".clone-group1 tbody tr").each(function(){
        $(this).attr('id','_'+r);
        r++;
    });

    // le damos/iniciamos un id en el clon hijo
    var r=0;
    $(".clone-group2 tbody tr").each(function(){
        $(this).attr('id','_'+r);
        r++;
    });

});

Это функционирует в таблице владельца, но не в таблице Представителя.

1
задан 09.03.2016, 20:36
2 ответа

Я перемещаю 0: Введение

Я буду помещать здесь твой код выполнимого способа (mcve), который поможет видеть намного лучшую проблему. Я буду оставлять часть утверждения в стороне временно, потому что он не надо в этом моменте (хотя потом я объясню, почему он не удается), и я буду осваиваться в HTML и других два snippets JS:

$(function(){
  /********************* PARA DINAMICAS - NUEVA FORMA ******************************/
  // PROPIETARIO
  // var i = 0;
  var i = parseInt($('.n_item_1').val(), 10);
  var bFlag1=i;
  var cloneItem = $(".clone1:last");//class de la tabla
  var cloneWrap = $(".clone-group1");//div
  $(".addButton1").on("click", function () {
    bFlag1++;
    if(i < 4){          
      i=i+1;
      var clon = cloneItem.clone(true).attr('id', '_'+bFlag1).appendTo(cloneWrap);
      clon.find('[type=text]').val('');

      clon.find(".addButton1")
      .replaceWith( '<button type="button" class="btn btn-primary remButton1" aria-label="Left Align"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</button>');

      $( ".n_item_1" ).remove();
      str_id = '<input type="hidden" class="n_item_1" name="n_item_1" value="'+i+'">';
      $("#form_").append(str_id);

    }
  });
  $("body").on("click", ".remButton1", function () {
    $(this).closest(".clone1").remove();
    i=i-1;
    $( ".n_item_1" ).remove();
    str_id = '<input type="hidden"  class="n_item_1" name="n_item_1" value="'+i+'">';
    $("#form_").append(str_id);
  });

  // REP LEGAL
  // var i2 = 0;
  var i2 = parseInt($('.n_item_2').val(), 10);
  var bFlag2=i2;
  var cloneItem2 = $(".clone2:last");//class de la tabla
  var cloneWrap2  = $(".clone-group2");// div
  $(".addButton2").on("click", function () {
    bFlag2++;
    if(i2 < 4){
      i2 = i2 + 1; 
      var clon = cloneItem2.clone(true).attr('id', '_'+bFlag2).appendTo(cloneWrap2);
      clon.find('[type=text]').val('');
      // clon.find('[type=email]').val(''); // para input text de tipo email

      clon.find(".addButton2")
      .replaceWith( '<button type="button" class="btn btn-primary remButton2" aria-label="Left Align"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</button>');

      $( ".n_item_2" ).remove();
      str_id2 = '<input type="hidden" class="n_item_2" name="n_item_2" value="'+i2+'">';
      $("#form_").append(str_id2);

    }
  });
  $("body").on("click", ".remButton2", function () {

    $(this).closest(".clone2").remove();
    i2 = i2 - 1;

    $( ".n_item_2" ).remove();
    str_id2 = '<input type="hidden"  class="n_item_2" name="n_item_2" value="'+i2+'">';
    $("#form_").append(str_id2);
  }); });

$(document).ready(function(){

  // le damos/iniciamos un id en el clon hijo
  var r=0;
  $(".clone-group1 tbody tr").each(function(){
    $(this).attr('id','_'+r);
    r++;
  });

  // le damos/iniciamos un id en el clon hijo
  var r=0;
  $(".clone-group2 tbody tr").each(function(){
    $(this).attr('id','_'+r);
    r++;
  });

});
<form role="form" method="post" action="index.php" name="form_" id="form_" class="forms_formularios" enctype="multipart/form-data">
  <table border="0" class="tablaConBorde table clone-group1" id="" >
    <thead>
      <tr class="fondoResaltado_1">
        <td style="width: 70%;" >
          NOMBRES DEL PROPIETARIO 
        </td>
        <td style="width: 20%;" align="center">
          RUT
        </td>
        <td style="width: 10%;" align="center">
          Agregar / Eliminar
        </td>
      </tr>
    </thead>
    <tbody >
      <tr class="form-group clone1" >
        <td>
          <input class="form-control 2_nombres_prop" placeholder="Nombres" style="width: 38%; display: inline;" disabled id="2_nombres_prop" value="" name="2_nombres_prop[]" type="text" />
          <input class="form-control 2_ape_p_prop" placeholder="Apellido Paterno" style="width: 30%; display: inline;" disabled id="2_ape_p_prop" value="" name="2_ape_p_prop[]" type="text" />
          <input class="form-control 2_ape_m_prop" placeholder="Apellido Materno" style="width: 30%; display: inline;" disabled id="2_ape_m_prop" value="" name="2_ape_m_prop[]" type="text" />
        </td>
        <td >
          <input class="form-control 2_rut_prop" onblur="valida_rut_pro( $(this).val(), $(this).parents('tr').attr('id') )" id="2_rut_prop" value="" name="2_rut_prop[]" type="text" />
        </td>
        <td align="center" >
          <button type="button" class="btn btn-primary addButton1" aria-label="Left Align" id="">
            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Agregar
          </button>
        </td>
      </tr>
    </tbody>
  </table>

  <table border="0" class="tablaConBorde table clone-group2" id="" >
    <thead>
      <tr class="fondoResaltado_1">
        <td style="width: 70%">
          REPRESENTANTE LEGAL
        </td>
        <td style="width: 20%;" align="center" >
          RUT
        </td>
        <td style="width: 10%;" align="center">
          Agregar / Eliminar
        </td>
      </tr>
    </thead>
    <tbody>
      <tr class="form-group clone2" >
        <td >
          <input class="form-control 2_rep_legal_nombres" placeholder="Nombres" style="width: 38%; display: inline;" disabled id="2_rep_legal_nombres" value="" name="2_rep_legal_nombres[]" type="text" />
          <input class="form-control 2_rep_legal_ape_p" placeholder="Apellido Paterno" style="width: 30%; display: inline;" disabled id="2_rep_legal_ape_p" value="" name="2_rep_legal_ape_p[]" type="text" />
          <input class="form-control 2_rep_legal_ape_m" placeholder="Apellido Materno" style="width: 30%; display: inline;" disabled id="2_rep_legal_ape_m" value="" name="2_rep_legal_ape_m[]" type="text" />
        </td>
        <td>
          <input class="form-control 2_rep_legal_rut" onblur="valida_rut_rp( $(this).val(), $(this).parents('tr').attr('id') )" id="2_rep_legal_rut" value="" name="2_rep_legal_rut[]" type="text" />
        </td>

        <td align="center" >
          <button type="button" class="btn btn-primary addButton2" aria-label="Left Align" id="">
            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>Agregar
          </button>
        </td>
      </tr>
    </tbody>
  </table>

  <input type="hidden" class="n_item_1" name="n_item_1" value="0">
  <input type="hidden" class="n_item_2" name="n_item_2" value="0">


</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

Я перемещаю 1: Доказывать, что есть дублированные ID's

Нажми на кнопку "Выполнения фрагмента кода"... Уже есть дублированные ID's. Возможно, что они не повторяются в той же таблице, но да в документе. id _0 появись два раза в документе: в первой линии таблицы владельцев и в первой линии таблицы представителей.

Заметь: id _0 он неправильный. Согласно определению HTML:

Пойдите and ЯМС tokens must begin with в letter ([A-Za-z]) and май be followed by any number of letters, digits ([0-9]), hyphens (" - "), underscores (" _ "), colons (": "), and periods (". ").

Который было бы возможно переводить как

Идентификация и ЯМС должны начинать с буквы ([A-Za-z]) и могут быть следуемыми любым числом букв, цифр ([0-9]), схем (" - "), низкие схемы (" _ "), две точки (": "), and точки (". ").

И все приходит из этого кода:

$(document).ready(function(){

    // le damos/iniciamos un id en el clon hijo
    var r=0;
    $(".clone-group1 tbody tr").each(function(){
        $(this).attr('id','_'+r);
        r++;
    });

    // le damos/iniciamos un id en el clon hijo
    var r=0;
    $(".clone-group2 tbody tr").each(function(){
        $(this).attr('id','_'+r);
        r++;
    });

});

где стоимость r он инициализируется перед каждым циклом, из-за того, что произведенные ID's будут сходными в обоих подмостках.

И как в объявлениях: "но еще есть больше!". Каждый раз, когда добавляется линия в каждой из подмостков нажимая кнопку "Agregar" распределяется один пойдите в новую линию. Восток пойдите он последующий и зависимый от числа линий, созданных в этой таблице (стоимость, которая сохраняет в bFlag1 и bFlag2 соответственно)...

Но есть два подмостков и эта стоимость независимая один от другого. Что это значит? Так как, что равно как с id _0, id _1 он появится два раза в документе, если добавится линия к каждой таблице, и то же самое с ID's _2, _3, _4... Та же таблица не будет содержать дублированных IDs, но это не имеет значение; то, что он импортирует, так это полный документ.

Ты не веришь мне? Инспектируй код и начни добавлять линии к двум подмосткам, ты увидишь, что есть что-то как это (задержание экрана этого JSFiddle):

Captura de pantalla con IDs repetidos

Я перемещаю 2: Доказывать, как эти дублированные ID's вызывают проблему

Сейчас, когда уже мы увидели, что существуют ID's, мы увидим, как эти ID's вызывают проблему в "утверждении" только второй таблицы (таблица представителей). И для этого уже да, что мы будем использовать код JS утверждения:

function valida_rut_rp(xRut, id){
    // ARMAMOS LA VARIABLE 'ID' DEL TAG
    var clone2='#'+id;
    // alert("1.:"+xRut);
    var xurl="vws/ajax_validar_rut.php?rut="+xRut;
    alert(1);
    $.ajax({
        url: xurl,
        type: "GET",
        beforeSend: function(){
            $(clone2+" #2_rep_legal_nombres").prop('disabled', true);
            $(clone2+" #2_rep_legal_ape_p").prop('disabled', true);
            $(clone2+" #2_rep_legal_ape_m").prop('disabled', true); 
            alert(2);
        },
        success: function(data){
            alert(3)
            if(data){
                alert(4);
                if(data==1){
                    alert("clone2: "+clone2)
                    $(clone2+" #2_rep_legal_ape_p").prop('disabled', false);
                    $(clone2+" #2_rep_legal_ape_p").focus();
                    alert(5);
                }
                else if(data==0){
                    $(clone2+" #2_rep_legal_nombres").prop('disabled', false);
                    $(clone2+" #2_rep_legal_nombres").focus();
                    $(clone2+" #2_rep_legal_ape_p").prop('disabled', false);
                    $(clone2+" #2_rep_legal_ape_m").prop('disabled', false);
                    alert(6);
                }
            }
        },
        error: function(){
            // alert("cuek!");
        }
    });
}

Независимо от утверждения, которое делается в PHP (мы будем понимать, что оно функционирует хорошо), в функции наверху есть проблема с селекторами. Селекторы в себе находятся хорошо, но в кредит дублированных, тогда ID's результат не ожидаемый. Например:

$(clone2+" #2_rep_legal_nombres").prop('disabled', true);

Представь, что ты написал в первом ящике текста (#_0) стоимость "123456" и ты вытекаешь из нее, тогда он называется в функцию valida_rut_rp со стоимостью "123456" и "_0". А следовательно селектор наверху останется как:

$("#_0 #2_rep_legal_nombres").prop('disabled', true);

Что последует в... ничего. Никакое действие не будет работать и никакое поле не будет выведено из строя, потому что селектор #_0 #2_rep_legal_nombres он ничего не возвращает, даже, когда существует линия с id _0 что содержит поле с id 2_rep_legal_nombres.

Но: почему происходит это? Как выбираются элементы в jQuery. Селектор #_0 #2_rep_legal_nombres он будет искать первый элемент с id _0 и внутри этого он будет искать первый элемент с id 2_rep_legal_nombres... и там он, где - проблема: первый элемент с id _0 будь в таблице владельцев и не в том представителей, и внутри таблицы владельцев нет никакого поля с id 2_rep_legal_nombres.

Независимо от других действий утверждения, селекторы неправильные для таблицы представителей и они не будут функционировать.

Я перемещаю 3: Как решать проблему

Возможное решение: сочетайся bFlag1 и bFlag2 в единственной переменной. Таким образом они не произойдут удвоенные в ID's линий между двумя подмостками ни в документе.

Минимальное изменение только должно происходить в этих линиях, где мы удалим заявление bFlag2 и мы заменим Ваше использование из-за bFlag1:

  // REP LEGAL
  // var i2 = 0;
  var i2 = parseInt($('.n_item_2').val(), 10);
  //var bFlag2=i2;
  var cloneItem2 = $(".clone2:last");//class de la tabla
  var cloneWrap2  = $(".clone-group2");// div
  $(".addButton2").on("click", function () {
    bFlag1++;
    if(i2 < 4){
      i2 = i2 + 1; 
      var clon = cloneItem2.clone(true).attr('id', '_'+bFlag1).appendTo(cloneWrap2);
      clon.find('[type=text]').val('');
      // clon.find('[type=email]').val(''); // para input text de tipo email

      clon.find(".addButton2")
        .replaceWith( '<button type="button" class="btn btn-primary remButton2" aria-label="Left Align"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</button>');

      $( ".n_item_2" ).remove();
      str_id2 = '<input type="hidden" class="n_item_2" name="n_item_2" value="'+i2+'">';
      $("#form_").append(str_id2);

    }
  });

Заметь: это не удаляет проблему дублированных ID's, которая останется существуя, потому что различные поля внутри линии имеют равно, пойдите в различных линиях.

Ты можешь видеть полный код с изменениями, определенными наверху в этом JSFiddle; И если ты проанализируешь код, ты увидишь, что у линий уже нет дублированных ID's и селекторы функционируют правильно.

Как только была решена эта проблема, и имея в виду, что унифицированный указатель ресурса утверждения RUTs - тот же самый для владельцев и представителей, и что оно функционирует правильно для владельцев, оно было бы должно функционировать также для представителей... Хотя всегда может быть что-то, что он бил козырем бы :)

Я надеюсь, что он этому помог (я знаю, что он очень длинный). Удачи.

4
ответ дан 24.11.2019, 14:45
  • 1
    Уважаемый, прежде всего БОЛЬШОЕ СПАСИБО давать из-за тебе время. С тех пор, как ты прокомментировал мне тему идентификаций в подмостках, я проверил весь мой код (. отлучился один поэтому, так как то, что он оставляет здесь, одинокое часть.), и действительно идентификации были проблемой. Я решил дублированные идентификации, давая им буквы момент это распределять и инициализировали их в подмостках. Читать твой ответ, я укрепляюсь то, что я решил вчера. <! - var клоун = cloneItem2.clone (true) .attr (и #39; пойдите и # 39; и #39; _ и #39; +bFlag1) .appendTo (cloneWrap2); - > – x_Mario 11.03.2016, 14:56

С тех пор, как ты прокомментировал тему идентификаций в подмостках, я проверил весь мой код (. отлучился один поэтому, итак, то, что он оставляет здесь, одинокая часть.) и действительно идентификации были проблемой. Я решил дублированные идентификации, давая им буквы момент это распределять и инициализировали их в подмостках.

В этой линии;

var clon = cloneItem2.clone(true).attr('id', '_'+bFlag1).appendTo(cloneWrap2);

Я оставил это таким;

var clon = cloneItem2.clone(true).attr('id', 'rp_'+bFlag1).appendTo(cloneWrap2);

Очевидно меняя буквы для каждой таблицы.

И в $(document).ready(function(){ также, так как это сообщение инициализирует идентификацию в каждом TR каждой таблицы

var r=0;
$(".clone-group2 tbody tr").each(function(){
    $(this).attr('id','rp_'+r);
    r++;
});

Читать твой последний ответ, я укрепляюсь то, что я решил вчера. С этим, я исправил то, что осложняло существование.

Добавочный в этот ответ, этот код функционирует в подмостках с реестрами линейной формы, а именно с динамическими 'TR'. Чтобы заставлять их функционировать в динамических подмостках с несколькими реестрами, меняться в HTML в признаке 'onblur' в части, где эта parents, говорит tr, менять это в table и функционирует в совершенство.

0
ответ дан 24.11.2019, 14:45