从 jquery 数据表中选择一个值

Selecting a value from jquery datatable

我无法从此 table 中获取隐藏输入元素的值。

这是我的 table:

<table id="scrapApprovalTable" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th></th>
            <th>Date</th>
            <th>Company</th>
            <th>Notes</th>
            <th>Comments</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
        <cfoutput>
            <cfloop query="GetRequests">
                <tr class="#specialPricingScrapID#" id="#specialPricingScrapID#">
                    <td class="details-control" value="#specialPricingScrapID#"></td>
                    <td class="date">#DateFormat('#enterDate#', 'mm-dd-yyyy')#</td>
                    <td class="company"><a href="http://www.pblead.com/cfleadsource/MarMgt.cfm?ContactID=#contactid###ContactInfo" target="_blank">#company#</a>
                    </td>
                    <td class="notes">#notes#</td>
                    <td class="comments">
                        <textarea name="processingScrapComments-<cfoutput>#specialPricingScrapID#</cfoutput>" id="processingScrapComments-<cfoutput>#specialPricingScrapID#</cfoutput>" cols="30" rows="5"></textarea>
                    </td>
                    <td class="buttons">
                        <input type="hidden" id="requestID" value="#specialPricingScrapID#">
                        <button class="btn btn-success btn-block btn-small" id="btn-ApproveScrapRequest" name="btn-ApproveScrap" onclick="processRequest(#specialPricingScrapID#, #contactid#, #userid#)">Approve</button>
                        <br>
                        <button class="btn btn-danger btn-block" id="btn-RejectScrapRequest" name="btn-RejectScrap" onclick="processDenial(#specialPricingScrapID#, #contactid#, #userid#)">Deny</button>
                        <br>
                    </td>
                </tr>
            </cfloop>
        </cfoutput>
    </tbody>
</table>

这是我的 javascript 我正在使用:

$(document).ready(function () {
    var approvalTable = $('#scrapApprovalTable').DataTable();
    $('#scrapApprovalTable tbody').on('click', 'td.details-control', function (e) {
        e.stopPropagation();
        var $this = $(this);
        var trid = $this.closest('tr').data('id');
        alert("TR ID " + trid);
        var tdid = $this.find('td[data-id]').data('id');
        alert("TD ID " + tdid);
    });
});

我只想得到

的值
  1. 隐藏元素
  2. 或所选 TR 的 ID 或
  3. 所选行的 class="details-control' 的值。

所有这些都是相同的值。我想要完成的是获取值,以便我可以执行另一个请求。

感谢大家的帮助。

这个 table 在创建时直接加载。

使用下面的代码获取 <tr> 元素的 id 属性的值:

$(this).closest('tr').attr('id');

DEMO

var approvalTable = $('#scrapApprovalTable').DataTable();
$('#scrapApprovalTable tbody').on('click', 'td.details-control', function (e) {
    e.stopPropagation();
    var $this = $(this);
    var trid = $this.closest('tr').attr('id');
    alert("TR ID " + trid);
    var tdid = $this.find('td#' + trid).attr('id');
    alert("TD ID " + tdid);
});