2017-12-15 17 views
0

그래서 .. 테이블에 무언가를 추가하는 2 jquery 함수가 있습니다. 첫 번째 기능이 작동하지 않고 두 번째 기능이 작동합니까? 첫 번째 함수에서 내 HTML var는 추가 할 좋은 정보로 채워지지만, 단지 추가하지 않습니다. ??jquery 추가 작동하지 않지만 다른 함수에서 작동

function buildTable(data) { 
    var html = ""; 
    $.each(data, function (key, value) { 
     html += "<tr>"; 
     html += "<td><a class='delete'><i class='fa fa-thrash'></i></a></td>"; 
     html += "<td class='key'>" + key + "</td>"; 
     html += "<td class='val'>" + value + "</td>"; 
     html += "<td></td>"; 
     html += "</tr>"; 
     //$(".table > tbody").prepend(html); 
     //$(".addrow").append(html); 
     //$("#parameterTable > tbody").append(html); 
    }); 
    $('.addrow').prepend(html); 

    //$(".formTable ").prepend(html); 

} 

두 번째 기능 (작업을 수행하는 것)

function addNewParameter() { 
    if(!added) { 
     var html = "<tr>"; 
     html += "<td></td>"; 
     html += "<td><input type='text' class='parameter1' name='Parameter1'></td>"; 
     html += "<td><input type='text' class='parameter2' name='Parameter2'></td>"; 
     html += "<td><a class='save'><i class='fa fa-save'></i></a><a class='undoAdd'><i class='fa fa-undo'></i></a></td>"; 
     html += "</tr>"; 
     $(".addrow").append(html); 
     added = true; 
    } else { 
     showWarning("u heeft al een parameter toegevoegd, sla deze eerst op."); 

    } 

} 

나는 그것을 내가 잠시 동안 고민 한

<table class="formTable table table-striped table-bordered table-hover dataTable" id="parameterTable"> 
    <thead> 
     <tr> 
      <td class="col-md-2"></td> 
      <td class="col-md-4"> 
       Naam 
      </td> 
      <td class="col-md-4"> 
       Waarde 
      </td> 
      <td class="col-md-2"></td> 
     </tr> 
    </thead> 
    <tbody class="addrow"> 

    </tbody> 
</table> 

를 추가 할 필요가있는 HTML, 어떤 도움 좋은 것

+1

당신이 할 일 후에는, 부트 스트랩 대화에 문제가되었다 '.prepend()'와'.append()'. –

+0

ye는 둘 다 시도했다, 그들은 둘 다 일하지 않는다 – dev

+0

나는 당신의 문제가 작동하지 않는 케이스에서 컨테이너 요소 (''요소)의 * list *를 추가한다고 덧붙였다. ''에 모든 행을 래핑하는 것이 더 나을 것입니다. 그리고 나서 기존의 행 뒤에' '전체를 추가하는 것이 좋습니다. (테이블은 원하는만큼 많은 ''엘리먼트를 가질 수 있습니다.) – Pointy

답변

0

당신은 이것을 이렇게 해 보셨나요?

function buildTable(data) { 
     var html = ""; 
     $.each(data, function (key, value) { 
      html += "<tr>"; 
      html += "<td><a class='delete'><i class='fa fa-thrash'></i></a></td>"; 
      html += "<td class='key'>" + key + "</td>"; 
      html += "<td class='val'>" + value + "</td>"; 
      html += "<td></td>"; 
      html += "</tr>"; 
     }); 
     $('.addrow').append(html); 

    } 
+0

yep :(html var가 채워진 것을 시도했지만, 그냥 채우지 않았습니다. – dev

0

종료 태그가 필요하지 않습니다 jQuery를의 적절한 사용 :

function addNewParameter() { 
    if (!added) { 
     var newHtml = $('<tr>'); 
     newHtml.append($('<td>')); 
     newHtml.append(
      $('<td>').append(
       $('<input>'.addClass("parameter1").attr({"name":"Parameter1","type":"text"})) 
       ) 
     ); 
     html.append(
      $('<td>').append(
       $('<input>').addClass("parameter2").attr({"name":"Parameter2","type":"text"}) 
      ) 
     ); 

     html.append(
      $('<td>').append(
       $('<a>').addClass('save').append(
        $('<i>').addClass("fa fa-save") 
       ), 
       $('<a>').addClass('undoAdd').append(
        $('<i>').addClass("fa fa-undo") 
        ) 
       ) 
      ); 
     $('.addrow').append(newHtml); 
     added=true; 
     } 
     else { 
     showWarning("u heeft al een parameter toegevoegd, sla deze eerst op."); 
     } 

} 
0

대화 상자가로드 된 다음의 append 함수가