Неопределенная переменная

  • Автор темы olgatms
  • 31
  • Обновлено
  • 13, May 2024
  • #1
У меня есть обработчик кликов на кнопке для запуска функции разбиения на страницы JavaScript. По какой-то причине я получаю сообщение об ошибке: FilterSet не определен.

Вверху моей php-страницы:
 function Search()

{

this.ID = 0;

this.filter = "highest plays";

this.page = 1;

this.search = "";

this.fetch = function()

{

var filterSet = this.filter;

var pageSet = this.page;

this.page = this.page + 1;

$.ajax({

method: "POST",

url: "php/fetch_search_js.php",

dataType: 'json',

data: { filter: filterSet, pageVal:pageSet}

}).done(function( data ) {

// the returned data will be the needed ID for pagination

// will fetch highest ID from query based on filter

if(data.message == "success")

{

$('#searchresults').append(data.html);

}

});

}

this.fetchSearch = function()

{

alert("fetch search");

}

this.setFilter(filterSet)

{

this.filter = filterSet;

}

this.setSearch(searchSet)

{

this.search = searchSet;

}

// end class

}
Код (разметка): Класс JavaScript
 echo '<script> var search = new Search(); search.setSearch('. '\'' . urldecode($_GET['search']) . '\'' .'); $(document).ready(function(){ $( "#loadmore" ).click(function() { search.fetchSearch(); }); }); </script>';
Код (разметка):

olgatms


Рег
31 May, 2014

Тем
1

Постов
3

Баллов
13
  • 08, Jun 2024
  • #2
Я не вижу вызова Search.fetch(), но если вы делаете это из обработчика событий, помните, что object.this в этих случаях указывает на FUNCTION, а не на родительский объект.

Чаще всего - даже несмотря на крушение поезда из-за некомпетентности и невежества разработчиков, которым является jQuery, - это основная причина того, что переменная, объявленная в объекте, не существует ни в одном из методов этого объекта.

В значительной степени, когда вы пытаетесь установить «filterSet = this.filter», у FUNCTION даже нет свойства «filter».

Обычно это можно обойти, просто используя локальные переменные в родительском объекте вместо того, чтобы назначать их в качестве свойств.
 

Seolkin


Рег
21 Jan, 2012

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно