2015-10-07 41 views
1

我想使用下面的代碼在html表中選定的行的行索引,但它不起作用。如何使用jquery在html表中獲取選定行的索引?

$(function() { 

     $("#myTable tr").click(function() { 
      alert(this.rowIndex); 
     }); 
    }); 

上述代碼必須是什麼問題?

+0

警報確實顯示? –

+0

是的,先生它沒有出現 –

+0

@ J-J它顯示出來。確保添加引用jQuery –

回答

1

你的代碼看起來很好,除非你我以前不添加jQuery的引用像其他說AND/OR也許你的表是動態創建的,請嘗試使用.onevent delegation,像這樣:

$(function() { 
    // use event delegation 
    $(document).on('click','#myTable tr', function() { 
     alert(this.rowIndex); 
     // or 
     alert($(this).index()); // jQuery way 
    }); 
}); 
+0

它的工作完美,先生。謝謝:) –

+0

請注意動態內容。很高興聽到這一點,不客氣。 –

0

$('#table tr').each(function(indx, val) { 
 
    $(this).click(function() { 
 
    var index = $(this).index(); 
 
    var value = $(this).text(); 
 
    alert('This row index is ' + index + ' This row value is ' + value) 
 
    console.log(indx) 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table id='table'> 
 
    <tr> 
 
    <td>qwe</td> 
 
    </tr> 
 
    <tr> 
 
    <td>123</td> 
 
    </tr> 
 
    <tr> 
 
    <td>123qwe</td> 
 
    </tr> 
 
</table>

可以使用的.index()來獲取TR的索引。

說明:從匹配元素中搜索給定元素。

Documentaion

您也可以使用使用.each function

說明參數:遍歷一個jQuery對象,執行功能爲每一個匹配元素。

Documentaion

+0

按鈕點擊時,它將如何觸發先生? –

+0

只需在'$('#someid')這樣的點擊事件中添加它,點擊(function(){put it here})' – guradio

+0

我的意思是當單擊行時sir –

0

同樣的問題我試圖解決幾天回來。您可以將此代碼用作類似問題的模板。我會在路上發表評論。

window.onload = function() { 

    /* variable stores html data as array for desired tag, this case it's 'tr' -*/ 

      var test = this.test = $('tr'); 

/* loop traverses the row elements in the array, which element is clicked */ 

    for (var i = 0; i < test.length; i++){ 
      index = Array.prototype.indexOf.call(test,test[i]); 

/* it's best to store the index inside the original row element which eases the access */ 

      test[i].setAttribute('index',index); 

    /* on clicking the element it calls for a function which alerts the index */ 

      test[i].onclick = alertTheClick ; 

    /* this is in case of debug */ 
      console.log(index); 

     } 
    }; 

    /* function definition */ 
    function alertTheClick(index){  /* index value from loop */ 
     alert(this.getAttribute('index')); /* index attribute from 'tr' element */ 
    } 
相關問題