Вот как вы можете сделать это с помощью HTML5 LocalStorage
$("#tempID").autocomplete({
source: function(req, resp) {
var temp = localStorage.getItem('custom_history');
var data = JSON.parse(temp);
resp(data);
}
});
$('#tempID').on('blur', function() {
var temp = localStorage.getItem('custom_history');
var data = JSON.parse(temp);
if($.trim(this.value).length > 0)
data.push(this.value);
localStorage.setItem('custom_history', JSON.stringify(data));
});
Что я делаю Установка значения в HTML5 Локальное хранилище, когда пользователи удаляются от поля ввода, щелкает в другом месте.
После этого извлечение этого и установка этого в качестве источника для пользовательского интерфейса jQuery завершена.
Вот рабочая скрипку http://jsfiddle.net/joycse06/EBduF/173/
Введите некоторое значение. Нажмите еще где-нибудь. Нажмите еще раз и добавьте другие значения. Обновится скрипка и начнется ввод одного из них и автозаполнения.
UPDATE
Основываясь на своих комментариях, а затем чат окончательный код, он должен быть в этом, я вставляя, если это может кто-то позже
// if we dont set this line then ff will return null, and null.length will throw an error
if(!localStorage.getItem('custom_history'))
localStorage.setItem('custom_history','');
$("#test").autocomplete({
source: function(req, resp) {
var term = req.term;
var temp = localStorage.getItem('custom_history');
var data = [];
if(temp.length > 0)
data = JSON.parse(temp);
var intRegex = /^\d+$/;
data = $.map(data,function(val){
if(intRegex.test(val)){
if(val.indexOf(term) != -1)
return val;
else
return null;
}
else
return null;
});
resp(data);
}
});
$('#save').on('click', function() {
var temp = localStorage.getItem('custom_history');
var data = [];
if(temp.length > 0)
data = JSON.parse(temp);
var value = $.trim($('#test').val());
if(value.length > 0){
if($.inArray(value,data) != -1){
//alert('Duplicate');
return;
}
}
data.push(value);
localStorage.setItem('custom_history', JSON.stringify(data)); // set item to localStorage
});
Nop, не существует какой-либо для добавление значений в историю элемента. Но вы можете поддерживать специальные значения 'array' и' push', чтобы каждый раз пользователь щелкал, а затем потянул назад, когда это необходимо. –
@Joy, но значения в массиве будут терять, когда пользователь обновит страницу. Есть ли альтернатива .. ?? – shashwat
Затем вы добавляете это в файл cookie, если хотите, чтобы это продолжалось между запросами. Вы можете использовать этот плагин https://github.com/carhartl/jquery-cookie –