2013-09-25 4 views
1

3 개의 열이 있으며 열 값은 데이터베이스에서 동적으로 변경됩니다. 마지막 열에 모든 행에 새로 고침 버튼이 있습니다.한 행만 다시로드하는 방법

새로 고침 버튼을 클릭 할 때 발생하는 일은 특정 행만 새로 고쳐 져야한다는 것입니다.

그러나 그런 일은 일어나지 않습니다. 첫 번째 행 새로 고침 버튼을 클릭하면 새로 고침되고 경고 값이 표시되지만 첫 번째 행을 제외한 다른 새로 고침 버튼을 클릭하면 새로 고침되지 않습니다. 그들은 경고의 가치조차 보이지 않습니다. , JQuery와

<script type="text/javascript"> 
    var id; 

    function refreshRecord(value) { 
     id = value; 
     alert("id is " + id); 
    } 

    $(document).ready(function() { 
     $(this).("#refresh").click(function() { 
      var fileId = id; 
      alert("ajax id is " + id); 
      $.ajax({ 
       type: "post", 
       url: "checkStatusAndNumRecs", 
       data: { 
        fileId: fileId 
       }, 
       success: function(data) { 
        $("#div1").html(data); 
       }, 
       error: function(data) { 
        $("#div1").html("It was a failure !!!"); 
       } 
      }); 
     }); 
    }); 
</script> 

HTML 코드

<table border="1"> 
    <tr> 
     <td>2</td> 
     <td>1</td> 
     <td>3</td> 
     <td> 
      <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh"> 
     </td> 
    </tr> 
    <tr> 
     <td>7</td> 
     <td>9</td> 
     <td>7</td> 
     <td> 
      <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh"> 
     </td> 
    </tr> 
    <tr> 
     <td>3</td> 
     <td>4</td> 
     <td>6</td> 
     <td> 
      <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh"> 
     </td> 
    </tr> 
    <tr> 
     <td>9</td> 
     <td>6</td> 
     <td>5</td> 
     <td> 
      <input type="radio" name="submit" value="submit" onclick="refreshRecord(this.value)" id="refresh"> 
     </td> 
    </tr> 
</table> 
+0

코드에 버튼이없고 id # # refresh를 가진 요소가 없습니다. 관련된 모든 부분으로 코드를 확장하십시오. – Raidri

+0

@Raidri 나는 게시물을 편집했습니다. – MintY

답변

2

당신은 같은 ID로 여러 개의 라디오 버튼이

아약스 : 여기

내가 사용한 코드입니다. 그것은 잘못된 html입니다. 나는 그들이 올바른있을 것조차 확실하지 않다 (또한 동일한 이벤트에 대한 두 개의 다른 onclick 이벤트를 사용하지 말아야 대신

<input type="radio" name="submit" ... class="refresh"> 

같은 클래스를 사용하고

$("input.refresh").click(function() { 

에 자바 스크립트 변경 위해, 임의 수 있습니다.) 당신은 $("input.refresh").click(function() { ... })this.valueid를 자바 스크립트에서 HTML에서 onclick="refreshRecord(this.value)"refreshRecord 기능을 제거하고 교체 할 수 있습니다
.

+0

Raidri에게 감사 드리며, 입력 유형 대신 을 사용하고있는 경우 어떻게 사용합니까? – MintY

+0

'$ ("input.refresh")'를'$ ("a.refresh")'로 대체하십시오. 여전히해야 할 일은 새로 고침 버튼/링크에 행의 id/fileid를 넣는 것입니다. 그러면 아약스 호출 용 ID를 갖게됩니다. 첫 번째 코드에서 모든 버튼에 대해 동일한 값을 '제출'했습니다. 링크를 사용한다면'data-fileid = "1"'처럼 데이터 속성을 넣고 ajax 호출에서'var fileId = $ (this) .data ('fileid');를 사용하십시오. – Raidri

+0

변경 사항은 [Fiddle] (http://jsfiddle.net/9z2Hz/)입니다. – Raidri

관련 문제