jquery - HTML Select - 使用 jQuery 在选择时更改 src 音频

标签 jquery html select audio src

我有一个菜单选择,有 3 首不同的歌曲可供选择。当我在下拉菜单中选择轨道时,我正在尝试切换歌曲。

我正在尝试使用 jQuery 来做到这一点,但没有结果。

这是代码

HTML

<select id="changeselection" name="change-selection">

<option id="change1" value="change1" selected>Song 1</option>
<option id="change2" value="change2">Song 2</option>
<option id="change3" value="change3">Song 3</option>

</select>

<audio id="audio1" tabindex="0" controls="" type="audio/mpeg" controls preload loop>
<source id="audiochange" type="audio/mp3" src="http://www.archive.org/download/CanonInD_261/CanoninD.mp3">
        Sorry, your browser does not support HTML5 audio.
    </audio>

查询
$(document).ready(function() {

$("#change1").on("click",function(){
     var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
     $("#audiochange").attr("src",src);
 });

$("#change2").on("click",function(){
     var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
     $("#audiochange").attr("src",src);
 });

$("#change3").on("click",function(){
     var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
     $("#audiochange").attr("src",src);
 });
    });

有什么建议吗?

这里的 fiddle

http://jsfiddle.net/BAR35/

最佳答案

更改音频源后,您需要以下代码。

 audio=$("#audiochange");
 audio[0].pause();
 audio[0].load();//suspends and restores all audio element
 audio[0].play();

你也有不正确的js,它不会在选项更改上起作用。试试这个:
$("#changeselection").on("change",function(){
 if($(this).val()=="change1")
  var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
 else if($(this).val()=="change2"){
   var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
 else 
   var src = "http://www.archive.org/download/bolero_69/Bolero.mp3";
  $("#audiochange").attr("src",src);
  audio=$("#audiochange");
  audio[0].pause();
  audio[0].load();//suspends and restores all audio element
  audio[0].play();
});});

关于jquery - HTML Select - 使用 jQuery 在选择时更改 src 音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23545578/

相关文章:

javascript - 我希望我的 jQuery 动画只工作一次

javascript - 为什么我在图形后面添加背景图像后不再起作用?

javascript - 如果在 jQuery 委托(delegate)事件处理程序中更改,AngularJS 模型不会立即更新

javascript - 如果页面打开为空白,则隐藏后退菜单按钮

java - 如何从sqlite表中获取最后一个时间戳日期

php - 查询未使用动态值执行

javascript - 在 javascript 函数中使用选择器 "$(this).find()"jQuery

javascript - 输入范围值将递减计数但不会递增

html - 使用 List 模拟带有嵌套表格的动态表格 <ul> <li> 仅限 HTML 和 CSS

Mysql JOIN表并更新2列信息