2010-01-04 8 views
0

나는 gridview 마녀가 4 databound 열 및 2 템플릿 열이 있습니다. 하나의 템플릿 열에 나는 dropdownlist (마녀는 아이템의 수를 포함한다)를 놓았다. gridview의 두 번째 열에는 가격이 포함되어 있습니다. 그래서 마지막 열에는 내가 dropdownlist에서 값을 선택하면 값이 두 번째 열의 DataGrid 값과 곱 해져서 자바 스크립트를 사용하는 gridview의 마지막 열에 결과가 있어야합니다.제발 가르쳐주세요 gridview의 셀 값을 자바 스크립트에서 액세스 할 수

무엇을해야할지 ..

답변

2

을 당신은 자바 스크립트를 사용하여 행과 열 셀에 데이터를 얻을 수 말해주십시오. 여기

Traversing an HTML table with JavaScript and DOM Interfaces

에 좋은 기사도 살펴보고있다 table.rows

샘플 코드

HTML

<table> 
      <tr> 
       <td> 
        100 
       </td> 
       <td> 
        <select id="sel1" onchange="GetRowInd(this);"> 
         <option value="1">1</option> 
         <option value="2">2</option> 
         <option value="3">3</option> 
        </select> 
       </td> 
       <td></td> 
      </tr> 
      <tr> 
       <td> 
        100 
       </td> 
       <td> 
        <select id="sel2" onchange="GetRowInd(this);"> 
         <option value="1">1</option> 
         <option value="2">2</option> 
         <option value="3">3</option> 
        </select> 
       </td> 
       <td> 

       </td> 
      </tr> 
     </table> 

자바 스크립트

function GetRowInd(selectbox) 
    { 
     var parentTr = selectbox.parentNode.parentNode; 
     var secondCellVal = parseInt (parentTr.cells[0].innerText , 10); 
     var comboVal = parseInt (selectbox.value , 10); 

     parentTr.cells[2].innerText = secondCellVal * comboVal; 
    } 

FF로 작업하려면 innerText 대신 textContent를 사용해야합니다.

jQuery를 솔루션

는 다음과 같은 기능

$(function() { 
      $(".selectbox").change (function() { 
       var comboVal = $(this).val(); 
       var parentTr = $(this).parents('tr'); 
       var tdElem = parentTr.children('td');    
       var secondCellVal = tdElem.eq('0').text(); 

       tdElem.eq('2').text (comboVal * secondCellVal); 
      }); 
     }); 
를 콤보 상자에서 onchange를 이벤트를 제거하고 사용
+0

의 좋은 일이지만 솔루션으로 지원되지 않습니다. 나는 그 때 내가 dropdownlist (gridview)에서 값을 선택하면 javascript의 함수를 호출하고 같은 행의 두 번째 필드의 값을 검색하고 같은 행의 마지막 열에 결과를 가져올 수 있어야합니다. –

+0

와우 .. 이것은 올바른 해결책입니다 ... –

+0

u는 어떻게 말해 줄 수 있습니까? –

1
당신은에 액세스하는 서버 측 컨트롤의 ClientID 재산과 document.getElementById 방법을 사용한다

당신의 자바 스크립트를 사용하여 컨트롤.

깔끔한 ClientID를 생성하는 데 유용한 this 문서를 찾을 수 있습니다.
This 공개 토론에서 올바른 방법을 제시 할 수도 있습니다.

UPD :
샘플 HTML :

<table> 
    <tr> 
     <td>cellValue</td> 
     <td><span id="comboId">combo</span></td> 
    </tr> 
</table> 

샘플 javasricpt : 배우는

// alerts "cellValue" 
alert(document.getElementById("comboId").parentNode.parentNode.cells[0].innerHTML); 
+0

은 .. 내가 ClientIDs을 알고 감사 ..... 괜찮은가이 자바 스크립트 코드를 작성했습니다 내가 그것을 가지고 : 기능 ShowTotalPrices (드롭 다운) { var에 selectedStatus = 드롭.값; // 여기 내 드롭 다운리스트의 값을 얻고 있습니다 var price = //이 함수를 호출 한 사람은이 드롭 다운리스트가 존재하는이 행렬에 같은 행의 값을 얻기 위해 무엇을 써야합니까? } –

+0

@Dot Net Developer 답변을 업데이트했습니다. 귀하의 요청에 응합니다. – Li0liQ

관련 문제