2015-06-08 1 views
0

Я пытаюсь получить строку таблицы с помощью JQuery ближайшего метода, как показано нижеПоиск строки таблицы с помощью Jquery ближайшего метода не работает

function GetPackageSizeDescription() { 
var row = $(this).closest('tr'); 
..... 
//ajax call 
data: { packageId: $(row).find('.packageId').val()} 
}  

, но после того, как JQuery выполняет эту строку коды var row = $(this).closest('tr'); следующая строка появляется в инструменты разработчика браузера, и я не могу получить значения элементов в этой строке. row = [prevObject: jQuery.fn.jQuery.init[1], context: undefined]

Любые идеи?

Кнопка элемент ячейки таблицы выглядит

<td><button type="button" class="btn btn-sm btn-primary" onclick="GetPackageSizeDescription(); return false;"> 
    <span class="glyphicon glyphicon-info-sign"></span> 
     </button> 
    </td> 
+1

пожалуйста, поделитесь с HTML или jsfiddle – Sushil

+1

Что 'this' определяется как в' GetPackageSizeDescription'? Может включать 'html' в Question? – guest271314

+0

Что это такое? –

ответ

2

Вам нужно отправить this через функции в качестве параметра.

изменение:

function GetPackageSizeDescription(element) { 
var row = $(element).closest('tr'); 

и когда вы звоните GetPackageSizeDescription сделать:

GetPackageSizeDescription(this) 
1

Или вы можете реорганизовать свой код к этому ...

HTML

<td><button id="getpackagesize-btn" type="button" class="btn btn-sm btn-primary"> 
    <span class="glyphicon glyphicon-info-sign"></span> 
     </button> 
</td> 

JQU ERY

$('#getpackagesize-btn').on('click', function() { 

    var row = $(this).closest('tr'); 
    ... 

    //ajax call 
    data: { packageId: $(row).find('.packageId').val()} 

    return false; 
}); 
Смежные вопросы