data("id",id) 无法获取表格中<tr>所绑定的id值

                                //绑定id值到tr
                                    var tr="<tr>";  
                                    tr+="<td>";
                                    tr+="<input type='checkbox' value='"+id+"' name='checkbox'/>";
                                    tr+="</td>";
                                    tr+="<td class='td_dep'>"+info_type+"</td>";
                                    tr+="<td class='td_dep'>"+type+"</td>";
                                    tr+="<td class='td_dep'>"+release1+"</td>";
                                    tr+="<td class='td_dep'>"+effective_s+"到"+effective_o+"</td>";
                                    tr+="<td class='td_dep'>"+compete+"</td>";
                                    tr+="<td class='td_dep'>"+region+"</td>";
                                    tr+="<td class='td_dep'>"+product+"</td>";
                                    tr+="<td class='td_dep'>"+source+"</td>";
                                    tr+="</tr>";    
                              var $tr=$(tr);
                              $tr.data("id",id);
                              console.log($tr.data("id"));


                                //获取从tr中获取id值
                                $("#table_content").on("click",".td_dep",function(){

                                //获取绑定 的ID值
                                var $tr=$(this).parent();
                                var id=$tr.data("id");
                                console.log(id);

                                各位大神,为什么获取id值总是提示undifine,需要怎么解决呢

图片说明

value='"+id+"' 你要不试试** id='"+id+"' **

$(":input[name='checkbox']").val()这样试试?我不懂你那样写是什么意思

没看出有什么问题,你怎么添加到table_content容器的?是不不是组件重新绘制过tr对象了

不行data改为attr试试,设置属性

 <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.7.1/jquery.min.js"></script>
<table id="tb"></table>
<script type="text/javascript">
    $tr=$('<tr><td class="td_dep">11</td></tr>')
    $tr.data('id', 123);
    console.log($tr.data('id'));
    $tr.appendTo('#tb');
    $('#tb').on('click', '.td_dep', function () { alert($(this).parent().data('id')) })
</script>

看不出来你绑定数据的tr,是你最终数据展示的table中的tr,生成表格再循环绑定 $tr.data("id",id)吧。要选择一行,你已经找到了它的tr,再从tr中获取checkbox的值不行吗?

 $('#tb').on('click', '.td_dep', function () { 
            var $tr=$(this).parent();
            var id =$tr.find("input[type=checkbox]").val();

 }试试吧

我有个疑惑,你用的拼字符串的方式定义的tr,但我没看到你在哪里加载tr,tr不加载怎么能获取元素