2017-09-14 56 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的最后一个代码片段:) –

相关问题