2012-02-23 85 views
1

在表格中使用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张贴值的价值,但林不知道怎么弄价值。 Im使用:

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

      alert(td.html()); 

这是返回null。

我该如何获得价值?

回答

0

你应该做

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

因为closest()上升DOM树,而find()下降。您不能使用prev(),因为它仅返回previous元素

0

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

相关问题