2017-09-14 103 views
1

我在我的視圖中使用引導表,並且錶行是動態創建的,並且在創建後 我想將.onclick事件附加到我的行,以防萬一有人點擊行我可能會突出顯示它, 我試過並測試它,我無法弄清楚如何解決這個問題。動態創建(引導)html錶行 - 在點擊事件不會觸發

這裏是我的代碼:

1)首先,請嘗試 - 絕對不好的,因爲一直對我行附着事件,點擊幾下後有5-6-7提醒彈出..

@section Scripts { 
@Scripts.Render("~/bundles/jqueryval") 
<script> 

    $('#TableItems').click(function (e) { 
      $('#TableItems tr').click(function (e) { 
       alert("Clicked!"); 
      }); 
     }); 

</script> 

2)第二個嘗試 - 也並不好,因爲觀點被渲染和tr不會呈現又那麼很可能,onclick事件不能連接,因爲當我點擊它 什麼也沒有發生

$('#TableItems tr').click(function (e) { 
       alert("Damn"); 
     }); 

這裏是我的表

<div class="table-responsive" id="myTable"> 
    <table class="table table-striped jambo_table bulk_action"> 
    <thead> 
     <tr class="headings"> 
      <th class="column-title">Title </th> 
     </tr> 
    </thead> 
    <tbody id="TableItems"></tbody> 
    </table> 
</div> 
+0

你需要[事件代表團(https://learn.jquery.com/events/event-代表團/) - 例如''('#TableItems')。on('click','tr',function(){...' –

+0

@StephenMuecke你的評論是非常棒的隊友!很容易認識到你充滿了知識,這是我的 再次感謝! 還有一個問題是,對於這個tr中的每一個,我生成了Id =「something」,我怎樣才能從這個e對象中獲得Id值,這甚至可能嗎? –

+0

是 - 'var id = $(this).attr('id');'但是你爲什麼要給'tr'元素一個'id'屬性(沒有意義) –

回答

0

您可以使用.on()

$('#TableItems').on('click', 'tr', function (e) { 
    alert("Damn"); 
}); 
+0

'文檔'應該被替換爲頁面第一次加載時存在的最接近的祖先 - 也就是'#TableItems'' –

+0

@StephenMuecke我同意你的看法,但是兔子OP沒有提到有問題的最近的祖先,這就是爲什麼我使用'文件' –

+0

看看顯示html的最後一個代碼片段:) –

相關問題