My .each of alphabet is only returning the last result on "s" in:
$('#keywordTable tr:last').after('<tr><td>' + s + '</td><td>' + val[0] + '</td><td>0</td><td>0</td><td>0</td></tr>');
relevant javascript code:
var suggestCallBack; // global var for autocomplete jsonp
var keywordCount = 0;
var alphabet = "abcdefghijklmnopqrstuvwxyz0123456789".split("");
$('body').on("click", '#submit', function() {
$('#keywords').html('');
var search_input = $("#keyword").val();
var language = $("#edit-domain").val();
callAPI(search_input, language);
_.each(alphabet, function(letter) {
callAPI(search_input + ' ' + letter);
callAPI(letter + ' ' + search_input);
});
return false;
});
function callAPI(s, language){
$.getJSON("http://suggestqueries.google.com/complete/search?callback=?", {
"hl": language, // Language
//"ds":"yt", // Restrict lookup to youtube
"jsonp": "suggestCallBack", // jsonp callback function name
"q": s, // query term
"client": "youtube" // force youtube style response, i.e. jsonp
});
suggestCallBack = function(data) {
var suggestions = [];
var languageText = $("#edit-domain option:selected").text();
$('#keywordTable').show();
$.each(data[1], function(key, val) {
suggestions.push({
"value": val[0],
});
$('#keywordTable tr:last').after('<tr><td>' + s + '</td><td>' + val[0] + '</td><td>0</td><td>0</td><td>0</td></tr>');
$('#keywordCount').text(++keywordCount);
$('#keywordtext').text(s);
$('#languageholder').text(languageText);
});
}
}
Here is a live preview: http://keyworda.com
The problem: (circled in red): https://i.stack.imgur.com/UxPlg.png