javascript - 从对象内的 JavaScript 数组中获取第一个值

标签 javascript jquery arrays object

CLICK FOR DEMO

在下面的示例中,我无法使用 pick[0] 来检索正确的值。

如果 pick[0] 使用对象值之一进行硬编码,例如 A[0],则代码将按预期工作。

问题

如何根据所选数组从 javascript 对象中检索第一个数组值?

JQUERY

var pick = $( "#select option:selected" ).text(),
    myArray = {
      A: ['#004d94', '#0073b9'],
      B: ['#f6f0c1', '#b9cdaf']
    };

$(function () {
    $('.Bx').css('background', myArray.pick[0]);
    $('.Tx').text(pick);
});

最佳答案

您需要在更改处理程序中选择值:

myArray[this.value][0]

片段:

var myArray = {
      A: ['#004d94', '#0073b9'],
      B: ['#f6f0c1', '#b9cdaf']
    };


$('#select').change(function () {
    $('.Bx').css('background', myArray[this.value][0]);
    $('.Tx').text(this.value + " = " + myArray[this.value][0]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select">
  <option value="A">A</option>
  <option value="B">B</option>
</select>

<div class="Bx">COLOUR CHANGE</div>
SELECTED: <div class="Tx"></div>

<小时/>

根据评论,如果您需要在页面加载时预填充..只需确保选择了第一个选项,然后选择它。

类似这样的:

var myArray = {
      A: ['#004d94', '#0073b9'],
      B: ['#f6f0c1', '#b9cdaf']
    };


goChange($("#select")[0].value);

$('#select').change(function () {
    goChange(this.value);
});

function goChange(val) {
    $('.Bx').css('background', myArray[val][0]);
    $('.Tx').text(val);  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select">
  <option value="A" selected>A</option>
  <option value="B">B</option>
</select>

<div class="Bx">COLOUR CHANGE</div>
SELECTED: <div class="Tx"></div>

关于javascript - 从对象内的 JavaScript 数组中获取第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27840274/

相关文章:

javascript - 滚动时实时更新绝对定位的div

javascript - 如何设置图像对象在特定步骤后停止移动

jquery - 根据高度定位元素垂直中心

java - Android中解析JSON数组和对象

java - 为什么第一行抛出 NullPointerException 但第二行没有?

javascript - 为什么这段 jQuery 代码不起作用?

javascript - 为什么像 “owl.carousel” 这样的 JavaScript 在 Odoo 10 Web 模板中不起作用?

javascript - 如何在SPA应用中开发登录/注册

javascript - 存储按钮点击数据的安全方法

javascript - 替换 Javascript 字符串数组中的最后一个字母