Kar*_*tje 10 javascript jquery freebase
我正在使用Freebase Search Suggest将某个关键字绑定到getJson请求.问题是我将getJson函数和相应的.append/.prepend函数绑定到具有搜索建议的输入字段.现在,如果要清除(.empty)包含getJson函数结果的div,我最终无法进行任何操作.
因此,每次进行搜索时,结果div都保持为空.如果我不尝试运行空函数并进行第二次搜索,则新信息将附加在先前信息之上.
我的网站www.karsten-tietje.dk/sw
$('#myinput').suggest({key: "<mykey>","filter": "(all type:/music/musical_group )"
})
.bind("fb-select", function(e, data) {
$.getJSON("http://ws.spotify.com/search/1/track.json?q="+search_val, function(data) {
items = [];
$.each(data["tracks"], function(key, val) {
items.push('<li class="spot"><span typeof="MusicRecording" property="track"><p>Name: <strong><span property="name">' + val["name"] + '</span></span></strong></p> <p>Album <strong>' + val.album["name"] + '</strong></p><p> Released: <strong>' + val.album["released"] +'</strong></p><p><strong><a href="' + val["href"] +'"><i class="icon-play-sign"></i> Start Spotify</a></strong></p>');
if ( key === 7 )
{
return false;
}
});
$('#spotify-div').prepend('<h3 style="border-bottom:1px solid white;">Spotify tracks</h3>');
$('#spotify').html(items.join('</li>'));
});
});
Run Code Online (Sandbox Code Playgroud)
这只是我的一些代码的片段.我运行多个getJson函数.
如何在运行其他功能之前清除/清空结果div?
Tom*_*ris 13
许多人已经解释了清理的机制,这听起来像你已经理解的,所以也许缺少的部分就是什么时候去做.您可能希望在发布Freebase建议选择回调中的第一件事之前清除事物,然后再将其中任何查询发送到Spotify等其他服务(即在第一个$ .getJSON()之前).
与您的问题无关,但不要忘记Freebase许可的归属要求(目前未在您的网站上提供).
编辑:这是你的代码添加空:
$('#myinput').suggest({key: "<mykey>","filter": "(all type:/music/musical_group )"
})
.bind("fb-select", function(e, data) {
$('#spotify-div').empty(); // empty the div before fetching and adding new data
$.getJSON("http://ws.spotify.com/search/1/track.json?q="+search_val, function(data) {
items = [];
$.each(data["tracks"], function(key, val) {
items.push('<li class="spot"><span typeof="MusicRecording" property="track"><p>Name: <strong><span property="name">' + val["name"] + '</span></span></strong></p> <p>Album <strong>' + val.album["name"] + '</strong></p><p> Released: <strong>' + val.album["released"] +'</strong></p><p><strong><a href="' + val["href"] +'"><i class="icon-play-sign"></i> Start Spotify</a></strong></p>');
if ( key === 7 )
{
return false;
}
});
$('#spotify-div').prepend('<h3 style="border-bottom:1px solid white;">Spotify tracks</h3>');
$('#spotify').html(items.join('</li>'));
});
});
Run Code Online (Sandbox Code Playgroud)
选择元素并将其放在HTML空白处,如下所示
jQuery('#selector').html('');
然后append在相同的选择器上应用jquery函数,如下所示
jQuery('#selector').append("<p>text</p>");
小智 5
您也可以通过清除ID为“ spotify”的html的内部html来做到这一点:
$('#spotify').empty();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62728 次 |
| 最近记录: |