【发布时间】:2013-07-13 23:56:39
【问题描述】:
我正在使用 reddit API。我的页面上有一个搜索框,我正在尝试对其进行设置,以便如果要输入几乎任何内容,它将返回与他们输入的单词或短语相关的前 10 条新闻报道。
<script>
$(document).ready(function () {
//reddit API URL
//var URL = "http://www.reddit.com/r/subreddits/search.json?q=Xbox";
var SEARCH_URL = 'http://www.reddit.com/r/subreddits/search.json?jsonp=?';
var searchQueryText = $('#search').val(); //getSearchQueryText();
$.getJSON(SEARCH_URL, {
q: searchQueryText,
limit: 10
}).done(function (data) {
$.each(data.data.children, function (i, item) {
$("<p>").text(item.data.title).appendTo("#images");
});
}).fail(function (data) {
alert("Something went wrong");
});
}); //end ready
</script>
<div id="images">
<h1>Reddit Data:</h1>
<p>
<label>Search</label>
<input type = "text" id = "search" value = "" />
</p>
如果我将 var SearchQueryText 更改为特定的单词,那么 API 就可以正常工作。但是,自从我将其更改为 $('#search').val(); 后,它不再起作用。我放了一个alert() 来测试这个值,弹出窗口是空白的。所以我认为问题是当我输入它时它没有检测到这个词。所以我写了一个简单的.mouseenter 函数,还是什么都没有。有什么想法吗?
【问题讨论】:
-
您在输入任何内容之前都会获取文本框的值。
-
我怀疑。那么我是否需要编写一个函数让 var searchQueryText 在我编写后获取它?