javascript - 我想在不重新加载页面的情况下更改<audio>的值

标签 javascript jquery ruby-on-rails audio

我将Rails 4和javascript用于个人Web应用程序。这是问题所在:
当我单击<audio>时,我想随机更改<button>的值。
为了生成<audio>的路径,我使用了ruby函数,该函数从数据库返回声音的值。我想做的就是单击<button>,每次我单击它时<audio>的更改值都不会重新加载页面。
这是示例:

<button> Click me!</button>
<audio><source src="<%= $soundpath %>"></audio>
/* I click on the button and the sound path into src="" should change everytime i click on the button without reloading the page*/
<audio><source src="<%= $soundpath %>" <--[this should be different from the previus one]></audio>

最佳答案

使用jquery的AJAX函数来请求一个URL,该URL将以文本响应以将src设置为:

在您的javascript文件中:

$("button").click(function() {
  $.get( "/sounds/next_source", function( data ) {
    $( "audio" ).attr( "src", data );
  });
}

然后,确保为此操作设置了路由,然后在 Controller 中实现它:
def next_source
    @src = Sound.last.url

  respond_to do |format|
    format.html {render :plain => @src }
  end
end

关于javascript - 我想在不重新加载页面的情况下更改<audio>的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565444/

相关文章:

javascript - 默认选择的选项在 angularjs 中不起作用

javascript - 如何使用javascript查找文件?

javascript - 如何将 JavaScript 函数应用于多个图像

ruby-on-rails - 如何停止heroku服务器?

php - ExtJs - IE8 + IE9 文件上传错误

javascript - 将变量单词包裹在一个跨度中

javascript - 在具有指定坐标的 div 内绘制一条线

javascript - 将逗号分隔字符转换为逗号分隔整数

ruby-on-rails - 是否有适用于Erlang的Sinatra风格的Web框架?

ruby-on-rails - Mongoid 4 (GitHub master) 创建具有重复 ID 的文档