首页 > 解决方案 > 从 select data-id 计算数量

问题描述

有一些 JS 代码应该从给定的 data-id 中计算数量。我爬了很多,但没有找到答案怎么做,也许有人可以帮助我。

  1. 值仅重复 1 次。
  2. 金额由 data-id 组成。
  3. 并显示总金额以输入数据库。

	<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>TEST</title>
	</head>
	<body>
		<select id="goods" onchange="func()" size="4">
			<option value="-">--</option>
			<option value="milk" dataid="10">milk</option>
			<option value="banana" data-id="12">banana</option>
			<option value="apple" data-id="13">apple</option>
		</select>
		<br>
		Сумма: <span id="summ">0</span>рублей<br>
		<select id="go" onchange="fu()" size="4">
			<option value="-">--</option>
			<option value="milk" dataid="100">milk</option>
			<option value="banana" data-id="120">banana</option>
			<option value="apple" data-id="130">apple</option>
		</select>
		<br>
		Сумма: <span id="sum">0</span>рублей<br>
		Было выбрано:<br>
		<span id="list"></span>
		Общая сумма равна: <span id="test4" name="test4">0</span>рублей<br>
		<script>
			function func() {
			    if (goods.selectedIndex) {
			        summ.innerText = +summ.innerText + +goods.options[goods.selectedIndex].value;
			        list.innerHTML += goods.options[goods.selectedIndex].text + '<br>';
			    }
			}
			function fu() {
			    if (go.selectedIndex) {
			        sum.innerText = +sum.innerText + +go.options[go.selectedIndex].value;
			        list.innerHTML += go.options[go.selectedIndex].text + '<br>';
			    }
			}
		</script>
	</body>
	</html>

标签: javascript

解决方案


我不太确定您要做什么,但我想您正在尝试显示 data-id 的值(Summa:[data-id] rub)。

你可以像这样实现它:

summ.innerText = +summ.innerText + +goods.options[goods.selectedIndex].getAttribute('data-id');

推荐阅读