2014-05-16 2 views
1
function OnSuccess(xml) { 

    document.getElementById("people").innerHTML = "<tr><td>Employee ID</td><td>First Name</td><td >Last Name</td></tr>"; 

    $(xml).find('Table').each(function() { 
    var id = $(this).find('EmployeeID').text(); 
    var fn = $(this).find('FirstName').text(); 
    var ln = $(this).find('LastName').text(); 

    //Create button 
    var btn = document.createElement("input"); 

    //Set the attributes 
    btn.setAttribute("onclick", "ServiceCall3(id)"); 
    btn.setAttribute("type", "button"); 
    btn.setAttribute("value", "Info"); 
    btn.setAttribute("name", id); 
    $('#people').append('<tr><td>' + id + '</td><td>' + fn + '</td><td>' + ln + '</td><td> '+ btn + '</td></tr>') 
    } 

)}; 

안녕하세요, 이것은 xml 파일에서 테이블을 만드는 제 기능입니다. 필요한 것은 xml의 read 매개 변수와 동일한 id의 버튼을 추가하는 것입니다. 각 행의 끝 부분입니다. 버튼 대신 얻는 것은 [object HTMLInputElement]입니다. 도와주세요.자바 스크립트를 사용하여 테이블에 버튼 추가하기

위대하고 빠른 응답. ServiceCall3에 id 값을 어떻게 전달할 수 있습니까? ServiceCall3에서 사용 하시겠습니까?

function serviceCall3(id) { 
      $.ajax({ 
       type: "POST", 
       url: "../TestWebService.asmx/GetAll", 
       data: "{'data' :" + id + "}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "xml", 
       success: OnSuccess3, 
       error: OnError 
      }); 
      } 
+0

완료,하지만 내 출력은 여전히 ​​내가 내 대답에 언급 된 어떤 시도 같은 –

+0

입니까? 당신이 console.log 나'(Create button) '앞의 id (id)를 바꾼다면 –

+0

얘들 아, 어떻게 ServiceCall3 함수에 id 매개 변수를 전달할 수 있겠 니? –

답변

2

DOM 요소 (btn)를 문자열 ([object HTMLInputElement]이 됨)에 연결하려고합니다. 대신에 추가해야합니다 :

$('#people').append(
    $('<tr></tr>').append(
     $('<td></td>').text(id), 
     $('<td></td>').text(fn), 
     $('<td></td>').text(ln), 
     $('<td></td>').append(btn) 
    ) 
); 

이렇게하면 원시 HTML에 내용을 연결하지 않고 행과 4 개의 셀이 만들어집니다.

+0

이것은 내가 찾고있는 것입니다. MrCode –

+0

당신은 servicecall에 의해 매개 변수를 읽는 것을 도와 줄 수 있습니까? –

1

id은 이미 당신이 텍스트로 id를 지정 $(id).text()

btn.setAttribute("name", id); 
0
var id = $(this).find('EmployeeID').text(); 

대신 id를 넣어 텍스트입니다.

그러나 다시, 당신은 $(id).text()

btn.setAttribute("name", $(id).text()); 

갱신

btn.setAttribute("name", id); 

은 또한 당신이 문자열로 btn을 추가하는 시도와 위의 라인을 쓰고있다. btn.toString을 변환하여 값을 인쇄합니다.

대신 btn을 별도로 붙이면 문제를 해결할 수 있습니다.

0

당신은 문자열로 버튼 요소를 쓰기 때문입니다 :

<td> '+ btn + '</td> 
관련 문제