首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用下拉选择更改JS数组

使用下拉选择更改JS数组
EN

Stack Overflow用户
提问于 2014-04-22 13:47:17
回答 1查看 378关注 0票数 0

我想通过从下拉框中选择数组来更改所使用的数组。然后,脚本将给定数组中的项随机化。

完整的代码可以在这里查看: http://codepen.io/anon/pen/Lqkdp/

HTML:

代码语言:javascript
复制
<select id="scale" name="scale" onchange="changeScale()">
<option value="array_Amaj">Amaj</option>
<option value="array_chromatic">Chromatic</option>
</select>

  <div id="scaleprint"></div>

JS:

代码语言:javascript
复制
var array_chromatic = ['A', 'A%23', 'Bb', 'B', 'C', 'C%23', 'Db', 'D', 'D%23', 'Eb', 'E', 'F', 'F%23', 'Gb', 'G', 'G%23', 'Ab'];

var array_Amaj = ['A', 'B', 'C%23', 'D', 'E', 'F%23', 'G%23'];

function changeScale()
{
  array_scale = document.getElementById("scale").value;
  document.getElementById("scaleprint").innerHTML = array_scale;
  array_chromatic = array_scale;
}

如果用户选择“Chromatic”,名为“scaleprint”的DIV应该更新,脚本的下一部分应该使用该数组随机化并显示给定的注释。

代码语言:javascript
复制
function renderKnuth()
        {
            array_chromatic.knuthShuffle();
            var audio = document.getElementById('sound');
      audio.src = 'http://lofiz.co.uk/gtr/dontfret/' + array_chromatic[0] + '.mp3';
      var str1 = array_chromatic[0]
      str2 = str1.replace("%23", '#');
            document.getElementById('knuth_data2').innerHTML = str2;

        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-22 14:08:37

在将array_chromatic设置为字符串之后

代码语言:javascript
复制
array_chromatic = array_scale

代码语言:javascript
复制
array_chromatic.knuthShuffle() 

又回来了。

更新

将元素上的值更改为如下数字

代码语言:javascript
复制
<option value="0">Amaj</option>
<option value="1">Chromatic</option>

那就改变这个

代码语言:javascript
复制
array_chromatic = array_scale;

到这个

代码语言:javascript
复制
array_chromatic = my_arrays[array_scale];

然后加上这个

代码语言:javascript
复制
var my_arrays  = [array_Amaj, array_chromatic];

就在数组定义的下面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23221449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档