javascript - 如何在我的选择中从我的 json 中获取对象数据?

标签 javascript jquery html css

所以我有一个选择元素,我正在附加从我的 API 返回的数据。

function getHeadData() {
    $("#itemSelect").empty();

    if (headitemData.length < 1) {
        $.getJSON("http://localhost:9000/api/helmets", function (key, value) {
            console.log("request helmets");
            var item = "";
            headitemData = key;
            var len = key.length;
            for (let i = 0; i < len; i++) {
                item += '<option value="' + key + '">' + key[i].Name + '</option>';
            }
            $('#itemSelect').append(item);
        });
    }
    else {
        clearIndex(headitemData);
    }
}

就在那里返回这个 enter image description here

这正是我想要的。 但是,如果我想获取其他数据,例如.. Icon 假设我想在从 Select 元素中选择一个元素时登录到控制台,我该怎么做?

最终目标是在我更改 Select 中的元素时打印出 json 对象的 Icon 属性。

JsonData 示例

<ItemModel>
<ACrush>+0</ACrush>
<AMagic>-5</AMagic>
<ARange>-2</ARange>
<ASlash>+0</ASlash>
<AStab>+0</AStab>
<DCrush>+43</DCrush>
<DMagic>-3</DMagic>
<DRange>+48</DRange>
<DSlash>+49</DSlash>
<DStab>+47</DStab>
<Icon>
https://vignette.wikia.nocookie.net/2007scape/images/a/a0/3rd_age_full_helmet.png/revision/latest?cb=20141217224936
</Icon>
<MagicDamage>+0%</MagicDamage>
<MeleeStrength>+0</MeleeStrength>
<Name>3rd age full helmet</Name>
<Prayer>+0</Prayer>
<RangedStrength>+0</RangedStrength>
<Slayer>0</Slayer>
<Undead>0</Undead>
</ItemModel>

最佳答案

您可以为您的选项设置数据,例如:

'<option data-icon="'+ key[i].Icon +'"></option>'

然后您可以在创建列表后为您的选择绑定(bind)更改:

$('select').on('change', function () {
  const _this = $(this).find(':selected');
  const icon = _this.attr('data-icon');

  console.log(icon);
})

关于javascript - 如何在我的选择中从我的 json 中获取对象数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52807850/

相关文章:

javascript - Node async.js 多重功能与 waterfall

javascript - jQuery.animate 背景位置

jquery - 如何使用jquery应用单选按钮上的更改事件

javascript - 使用 javascript 定位表格内的所有标签

html - CSS 中的下拉菜单

javascript - 类型错误 : Cannot read property 'args' when creating spy with Jasmine

javascript - 有没有办法标记音频文件

html - 试图找出为什么这些 float 的 LI 在 IE7 中不对齐

javascript - PDFmake表格动态数据

Jquery 隐藏/显示破坏了我的 div?