#ajax #jquery #input #tumblr
#ajax #jquery #ввод #tumblr
Вопрос:
Я пытаюсь создать свой собственный поиск в tumblr (только по тегам), поскольку их собственная функция поиска фактически не работает.
Итак, я почти на месте. Это работает, но мне нужно, чтобы поле поиска сохраняло значение того, что искал пользователь.
Итак, если я ищу «foobar», он загружает tumblr.com/tagged/foobar прямо в мой tumblr.com , но поле поиска по-прежнему содержит термин «foobar».
Вот мой рабочий код, за исключением кода, в котором я пытаюсь вставить предыдущий поисковый запрос во вновь загруженный
Заранее спасибо.
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
jQuery(function($) {
$('#syndex').keydown(function(event) {
if (event.keyCode == '13') {
var syndex = $('input:text').val();
$('body').load("http://syndex.me/tagged/" syndex);
$(this).val(syndex); //this is what's not working
}
});
});
</script>
</head>
<body>
<div id="logo">
<input id="syndex" type="text"/>
</div>
</body>
</html>
Ответ №1:
Вам нужно поместить это в complete
функцию, которая может быть передана в качестве параметра load
.
Load
выполняет асинхронный вызов AJAX. Вы пытаетесь установить значение до загрузки содержимого.
$('body').load("http://syndex.me/tagged/" syndex,function(){
$('input:text').val(syndex);
});
Комментарии:
1. Я бы также предложил использовать более точный селектор, чем
input:text
, возможноid
, (который, я думаю, есть#syndex
?). Однако это не имеет отношения к актуальному вопросу.2. Вот почему I <3 S.O. Это тоже имеет смысл. Спасибо за объяснение! Это сработало.