2016-10-15 2 views
1

나는이 구현 AJAX와 POST 데이터 IP를 전송하는 방법이테이블에 여러 데이터에 대해 AJAX POST 버튼을 만드는 방법은 무엇입니까?

<table> 
    <tr> 
    <th>User</th> 
    <th>IP</th> 
    <th>Action</th> 
    </tr> 
    <tr> 
    <td>Jack</td> 
    <td>192.168.0.1</td> 
    <td><button id="check" name="192.168.0.1">Check</button></td> 
    </tr> 
    <tr> 
    <td>Eve</td> 
    <td>192.168.0.2</td> 
    <td><button id="check" name="192.168.0.2">Check</button></td> 
    </tr> 
<tr> 
    <td>Smith</td> 
    <td>192.168.0.3</td> 
    <td><button id="check" name="192.168.0.3">Check</button></td> 
    </tr> 
</table> 

같은 테이블? 나는이 코드를 시도했지만 작동하지 않습니다 ..

<script> 
$('#check').click(function() { 

var getIP = $('#check').name(); 
var dataIP = 'sendIP=' + getIP; 

     $.ajax({ 
      url: 'url.php', 
      type: 'POST', 
      data: dataIP; 
      success: function() { 
       alert("Success"); 
      } 
     }); 

}); 
</script> 

[업데이트] 이 내 프로젝트에 대한 전체 코드입니다.

<script> 
$(document).ready(function() { 
    $('#reportrange span').on('DOMSubtreeModified', function() { 
    var dariRange = $(this).html(); 
    var SplitRange = dariRange.split("~"); 

    $('#datatable-keytable').DataTable({ 
    "destroy": true, 
    "processing": true, 
    "keys": true, 
    "order": [[ 6, "desc" ]], 
    "ajax": { 
     url: "view.php", 
     type : 'GET', 
     data : { 
     datedari : SplitRange[0].trim(), 
     datesampai : SplitRange[1].trim() 
     } 
    }, 
    "columnDefs": [ 
    { "width": "5%", "targets": 0 }, 
    ], 

    "columns": [ 
     { "data": "click_username" }, 
     { "data": "click_cid" }, 
     { "data": "click_offer" }, 
     { "data": "click_ip" }, 
     { "data": "click_isp" }, 
     { "data": "click_posttime" }, 
     { "data": "click_ip", 
     "render": function (click_ip,data,row) { 
          var clickid = data.click_cid; 
          return ('<center><button class="check" id="'+click_ip+'" name="'+clickid+'">Check</button></center>'); //This for Button check 
         } 
     },   
     ], 
    }); 
}); 
}); 
</script> 
<script type="text/javascript"> 
$(document).on('click', '.check',function() { 

     var dataID = 'sendCID=' + this.name; 
     var dataIP = this.id; 

     $.ajax({ 
      url: 'send_data.php', 
      type: 'POST', 
      data: dataID; 
      success: function() { 
       window.open('http://whatismyipaddress.com/ip/'+dataIP); 
      } 
     }); 

}); 
</script> 

나는 send_data.php-var dataID을 게시 할 다음 성공 열린 새 탭 경우 http://whatismyipaddress.com/ip/'+dataIP에 있지만,이 코드가 작동하지 않습니다,

나는 누군가가 나에게이 문제를 해결하는 데 도움이 희망, 당신에게

답변

3

감사합니다 페이지에서 ID를 반복 할 수 없으며 정의에 따라 고유하므로 클래스로 변경해야합니다.

이벤트 처리기 내에서 this은 귀하의 경우 this.name은 가치가 필요합니다

// use class selector 
$('.check').click(function() {  

     var dataIP = 'sendIP=' + this.name; 

     $.ajax({ 
      url: 'url.php', 
      type: 'POST', 
      data: dataIP; 
      success: function() { 
       alert("Success"); 
      } 
     }); 

}); 
+0

나는 데이터 테이블 서버를 사용합니다. 내 게시물의 전체 코드를 업데이트했습니다 ( – Zayn

+0

참조). 이벤트 위임을 사용해야 할 수도 있습니다. '$ {document} .on ('클릭', '.check', function() {...}을 시도해보십시오. – charlietfl

+0

또한 작동하지 않습니다. 내 게시물의 전체 코드를 볼 수 있습니다. – Zayn

관련 문제