如何从具有特定类名的最近值获取值?

时间:2012-02-23 13:36:43

标签: javascript jquery jeditable

我在表格中使用Jeditable来更新值。

function updateOwner(row, value, settings) {

            var td = $(row).closest('.cvrnummer');

            alert(td.html());

            $.post('UserAdministration/UpdateOwners', { owner: value }, function (data) {
                alert(data);
            });
        }

        $('.editable').editable(function (value, settings) {
            updateOwner(this, value, settings);
            return (value);
        }, {
            data: " {'mona':'moma','cecilie':'cecilie','jacob':'jacob', 'morten':'morten', 'rasmus' : 'rasmus', 'selected':'mona'}",
            type: 'select',
            submit: 'OK'
        });

表格如下:

<table id="userTable" class="table-autofilter table-autosort" >
<thead>
<tr>
<th>CVR-Nummer</th>
<th>Firma navn</th>
<th class="table-filterable">Tilhører</th>
<th class="table-sortable:date">Oprettet</th>
<th>Sidst online</th>
<th></th>
<th class="table-sortable:numeric table-sortable">Besvaret (%)</th>
</tr>
</thead>
<tbody>
<tr>
       <td class="cvrnummer"></td>
       <td></td>
       <td class="editable" style="text-align: center;"></td>
       <td></td>   
       <td></td>
       <td>Se besvarelser</td>
       <td>
       </td>
</tr>
</tbody>
</table>

我想传递

中的值
<td class="cvrnummer"></td>

当我使用AJAX发布值时,但我不确定如何获取值。我正在使用:

var td = $(row).closest('.cvrnummer');

            alert(td.html());

返回null。

我如何获得价值?

2 个答案:

答案 0 :(得分:0)

你应该做

var td = $(row).closest.('tr').find('td.cvrnummer');

因为closest()在DOM树上升,而find()发生故障。你不能使用prev(),因为它只返回preovious元素

答案 1 :(得分:0)

看起来您已选择<td class="editable">作为updateOwner方法的第一个参数。 jQuery中的closest选择器不会查看所选td的兄弟节点,它只是通过DOM。您可以尝试var td = $(row).siblings('.cvrnummer');var td = $(row).parent().find('.cvrummer');