入力フィールドの値を取得し、値を imdbapi.org に送信し、返された JSON を処理する必要がある次のコードがあります。入力フィールドの値を示す要素を含めましたが、文字列によっては文字列が途切れてしまいます。このテストケースを見る
$("form > input#movname").keyup(function() {
var inputval = encodeURI($("form > input").val());
$.getJSON('http://imdbapi.org/',
{
title: inputval,
plot: "none",
limit: "5"
},
function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="'+val.imdb_id+'">');
items.push('<img src="'+encodeURI(val.poster)+'" />');
items.push('<strong class="title">'+val.title+'</strong><br />');
items.push('<div>'+val.rated.replace("_"," ")+'</div>');
items.push('</li>');
});
items.push('<li id="debug">');
items.push('<img src="src/nocover.png" />');
items.push('<strong class="title">'+$("form > input").val()+'</strong><br />');
items.push('</li>');
var html = items.join('');
$("#suggestions").html("");
$('<ol/>', {
'class': 'moviessuggestions',
html: html
}).appendTo('#suggestions');
});
});