JQuery如何通过点标记按钮,获取到当前的元素的ID (如何获取动态数据的ID)

1,图片中的图像和显示的考生信息都是DataList迭代出来的,目的是通过点击标记按钮,获取到其对应的考试时间,科目代码等信息。

clipboard.png

要实现,通过点击标记按钮,将当前考生的信息回传给后台的方法,进行处理。JS怎么获取到当前这个笔迹卡的详细信息呢?这些图片都是动态迭代出来的,没有固定ID和name,JQuery不知如何获取唯一的图片相关信息。

clipboard.png

页面代码:

    <asp:DataList ID="DataList1" runat="server" RepeatColumns="2">
        <ItemTemplate>
            <div class="col-lg-12">
                <div class="col-md-4 kmdm" style="margin-top: 5px">科目代码:<%#Eval("TJ_KM_DM")%></div>
                <div class="col-md-4 kssj" style="margin-top: 5px">考试时间:<%#Eval("KSSJ") %></div>
                <div>
                    <input class="jddz" type="text" value="<%#Eval("KSSJ").ToString()+Eval("TJ_KM_DM").ToString().Trim()+Eval("KS_ZKZ")%>" /></div>
                <div class="col-md-4">
                    <input style="margin-bottom: 5px" value="未标记" class="chexSign btn btn-success" type="button" onclick="signCard(this)" /></div>
                <img src="../../img/200701/0094/010207301376.jpg" alt="Responsive image" class=" well well-lg img-responsive img-thumbnail " />
            </div>
        </ItemTemplate>
    </asp:DataList>
阅读 4.7k
2 个回答
function signCard(item){
    var parentDiv = $(item).parents(".col-lg-12"); // 外层的 div
    var time = parentDiv.find(".kssj").text(); // 这里取你想要的信息
    console.log(time);
}

parent() 取直接父级元素
parents() 取所有祖先元素

通常的做法,在动态生成 dom 的时候, 同时生成数据标志,例如 data-index = 'KSSJ', jquery 动态绑定 click 事件的时候,用 $(e.currentTarget).data('index')获取。其它字段也都可以通过 e 这个对象获取到,详细属性答主可以 console.log(e) 浏览。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题