如何使用jQuery发布表的特定单元格的值

时间:2015-07-28 14:31:19

标签: javascript jquery

我正在尝试使用jQuery从表中捕获两个单元格的值。我的表看起来像这样:

    <table id="searchByLocationResults" class="table table-hover table-striped" cellspacing="0" style="border-collapse:collapse;">
        <tbody>
            <tr>
                <th scope="col">View Detail</th>
                <th scope="col">Quantity</th>
                <th scope="col" style="display:none;">Location ID</th>
                <th scope="col" style="display:none;">Item Type ID</th>
            </tr>
            @For Each item In Model
                Dim currentItem = item    
                @<tr>
                     <td><a class="btn btn-default btn-sm" onclick="viewDetails(this)">View Detail</a></td>
                     <td>
                         @Html.DisplayFor(Function(modelItem) currentItem.COUNT)
                     </td>
                     <td style="display:none;" class="locationID">
                         @Html.DisplayFor(Function(modelItem) currentItem.Unique_Location_ID)
                     </td>
                     <td style="display:none;" class="itemType">
                         @Html.DisplayFor(Function(modelItem) currentItem.Item_Type_Identifier)
                     </td>
                </tr>
            Next
        </tbody>
    </table>

正如您所看到的,每行都有一个“查看详细信息”按钮。我需要做的是在单击按钮时使用display:noneclass=locationID捕获单元格中的class=itemType值,仅针对单击按钮的行。我已经在堆栈上看到了多个解决方案herehere以及其他一些解决方案。其中大部分都涉及捕获整行值。

我尝试过几个不同的脚本:

 function viewDetails(clickedRow) {
                var locationID = $(this).find(".selected td:.locationID").val();
                alert(locationID);

function viewDetails(clickedRow) {
    var locationID = tr.find(".locationID").val();
    alert(locationID);

以及其他一些人。

如何捕获单击“查看详细信息”的行的单元格locationIDitemType的值?

2 个答案:

答案 0 :(得分:1)

你快到了。您只需要在Jquery

中使用.text()方法
function viewDetails(clickedRow) {
    var locationID = tr.find(".locationID").text();
    alert(locationID);

答案 1 :(得分:1)

我想试试index。这仅适用于按钮和文本区域具有唯一类,以便计数正常工作。然后,一旦获得索引,请使用eq()获取数据。

var index = $(".btn-sm").index();
var locationId = $(".locationID").eq(index).text();