我有一个SoundCloud小部件,如果播放列表为空则设置为隐藏。当有人将歌曲添加到播放列表时,是否有一种方法可以重新检查该条件(点击添加按钮)?
<% if @current_user.id == Integer(@party_profile.host) %>
<div <% if @firstsong == "undefined" %> style="display:none;" <% end %>>
<object height="81" width="80%" id="myPlayer" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<iframe id="sc-widget" width="95%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/<%= @firstsong %>&show_artwork=true&liking=ture&sharing=true&frameborder="no"&scrolling="no"&enable_api=true&object_id=myPlayer"></iframe>
</object>
</div>
<% end %>
我添加此ruby条件而不是刷新部分soundcloud小部件onclick的原因是因为我不希望每次有人添加歌曲时都会刷新小部件(仅当玩家被隐藏且新歌有已被添加)。
答案 0 :(得分:0)
不,一旦服务器将其交给客户端,所有的erb内容都是一成不变的。但你可以做的是编写一个js函数来处理客户端事件
$().ready(function() {
$("#some_id_of_a_dom_element_that_changes_due_to_a_user_addition").change(function() {
$("song_container").show()
})
})
答案 1 :(得分:0)
这里有几件事:
如果不知道您的用途是什么,很难说最适合您的解决方案。