Я звоню метод getSelectedIndex
из плагина Megalist, как это:Возвращение значения из метода JQuery
var selectedIndex = $('#left-list').megalist('getSelectedIndex');
Однако, вместо того, чтобы возвратить целое число, я получаю объект JQuery, представляющий список вместо. Я пытался вызвать метод непосредственно, как в
var selectedIndex = $('#left-list').getSelectedIndex();
и
var selectedIndex = $('#left-list').megalist().getSelectedIndex();
, но затем я получаю ошибку о том, что не существует метода с именем getSelectedIndex
. Вставка .eq(0)
для изоляции только первого объекта jQuery также не работала. Я попробовал поиск по Google, но thesefewpages, похоже, не дают ответа. Метод определяется следующим образом:
getSelectedIndex: function() {
return parseInt(this.selectedIndex, 10);
},
и должен возвращать целое число. Как я могу просто вызвать метод для возвращения целого числа?
Update: кажется, что делает что-то вроде этого:
window.selectedIndex = -1;
// ...
function listChangeHandler(event) {
// ...
window.selectedIndex = event.selectedIndex;
// ...
}
// ...
$('.favorite-link').on('click', function(){
if (window.selectedIndex != -1)
{
if (window.favorites.indexOf(window.selectedIndex) == -1)
{
window.favorites.push(window.selectedIndex);
}
}
});
делает трюк, но я все равно хочу знать, если это может быть сделано без использования глобальных переменных.
Ах, но я делаю что-то вроде этого: '$ на ('нажмите ' функция() { \t \t SelectedIndex = $ ('# левый список') megalist (' любимая-Link.').. ('getSelectedIndex'); \t \t, если (window.favorites.indexOf (SelectedIndex) = -1!) \t \t { \t \t \t window.favorites.push (SelectedIndex); \t \t} \t}); «Должен ли я прибегать к использованию глобальной переменной? – Vilinkameni
Я обновил вопрос обходным путем. Я все равно хотел бы знать, можно ли это сделать без использования глобальных переменных. – Vilinkameni