помогите, застрял с циклом сравнения логических переменных, JavaScript - PullRequest
0 голосов
/ 09 июня 2010

У меня есть текстовое поле ввода для поиска ввода, идентификатор текстового поля: id = "search".

, если пользователь сначала вводит 'cat' и нажимает кнопку поиска.

В функции я получаю значение 'cat', используя синтаксис:

var input = document.getElementById("search").value;

После этого пользователь вводит «собака» в поле поиска и нажимает кнопку поиска, используя ту же функцию.

Функция присвоит входной переменной 'dog'.

Как бы я сравнил текущее значение (собака) с ранее введенным значением (кошка)?

Я пытался присвоить исходный ввод оператором, что-то вроде

var orig = input;

но это только перезапишет исходный ввод новым вводом.

Каков логический подход к этой проблеме.

Ответы [ 2 ]

0 голосов
/ 09 июня 2010

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

0 голосов
/ 09 июня 2010
var original = "";

function searchHandler() {
   var input = document.getElementById("search").value;

   if(input != original) {
      //handle case if input is not equal to original
   }

   else {
     //handle case if input is equal to original
   }

   original = input;
}

Этот код будет хранить историю последнего введенного значения (только на стороне клиента).Если вы хотите сохранить более одного значения, решение будет несколько более сложным;Вы могли бы использовать стек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...