【问题标题】:Targeting one specific value based off index根据索引定位一个特定值
【发布时间】:2020-05-30 02:18:15
【问题描述】:

我正在使用 jQuery 从 JSON 文件中填充标准 HTML 选择列表。填充函数工作正常,但现在我需要针对选择的任何下拉列表的特定值来获取值。 .0xx AFM 是下拉框中的内容,值是分配给选择元素的值,价格是与该下拉菜单关联的价格。我想要实现的是使用 jQuery 或 JS 来获取与所选下拉列表相关的价格。这样我就可以在计算公式中使用价格值作为变量。

【问题讨论】:

  • 我认为您可能需要为上下文提供一些代码——我并不完全清楚您需要在这里实现什么...
  • 拜托,您不是第一次来 StackOverflow,我相信您已经看到有人在代码片段中发布代码。 edit,并创建一个minimal reproducible example
  • 我正在寻找创建一个从 JSON 中获取所选下拉列表价格的函数。因此,当第一个值被选择时(如图所示),该函数将导致每个 JSON 文件的价格为 1。第二个下拉选项产生的价格为“2”。我试图根据下拉列表中的值对其进行索引,但我不确定如何定位它的价格部分。@AlexanderNied
  • 你想用这个价格做什么?当从列表中选择项目时只需console.log它......或者?
  • 它将成为另一个我必须编写的函数的 var。我还没有对它做任何事情,因为我不确定如何获得价格。 @追逐

标签: javascript html jquery arrays json


【解决方案1】:

每次从列表中选择一个值时,您都可以找到价格。我无法编辑您的代码,因为它是一个屏幕截图,但这会在 get getJSON 调用内部,但在每个循环之后。

类似:

// inside your getJson call, after your $.each loop

$(dropdown).on('change', function() {
  const selectedValue = $(this).val();
  const match = Object.values(data).find(entry => entry.value === selectedValue);
  console.log(match && match.price);
});

【讨论】:

  • this.value 并节省 4 个字节 ;)
  • 它可以工作,但是当我查看控制台时它会打印 3 倍?
  • 听起来像 1)你把它放在每个循环中(不要那样做)或 2)你正在获取你的 JSON 3 次并绑定 3 个执行相同操作的事件处理程序。
  • 像魅力一样工作,我很感激!今天刚刚尝试了 jQuery...
猜你喜欢
  • 2020-03-23
  • 1970-01-01
  • 2018-10-24
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 2015-07-01
  • 2020-06-08
  • 1970-01-01
相关资源
最近更新 更多