jquery - 为 var JQuery 设置价格
问题描述
我想制作一个 GUI,用户可以在其中按价格选择武器类别,如果需要,可以轻松添加更多。
这可行,但我不知道如何为每种武器添加价格到“conf_pistols”,如果您在下拉列表中更改武器,它将自动更新。
var conf_pistols = {
"PISTOL": "Pistol",
"PISTOL50": "Heavy Pistol"
};
var $pistolselect = $('#optgroup_pistol');
$.each(conf_pistols, function(key, value) {
var $option = $("<option/>", {
value: key,
text: value[0]
}, );
$pistolselect.append($option);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="weapon_class">Waffenauswahl</label>
<select id="weapon_class" name="weapon_class" class="select_weapon">
<option value="-1"></option>
<optgroup id="optgroup_pistol" label="Pistolen">
</optgroup>
</select>
<div id="weapon_cash" class="pa_cash">
<p id="weapon_cash_sum" class="pa_cash_sum">0 $</p>
</div>
解决方案
将价格添加到您的对象
const conf_pistols = {
"PISTOL": {
"name": "Pistol",
"price": 50
},
"PISTOL50": {
"name": "Heavy Pistol",
"price": 500
}
};
var $pistolselect = $('#optgroup_pistol');
$.each(conf_pistols, function(key, value) {
var $option = $("<option/>", {
value: key,
text: value.name
}, );
$pistolselect.append($option);
});
$("#weapon_class").on("change",function() {
$("#weapon_cash_sum").text(conf_pistols[this.value].price)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="weapon_class">Waffenauswahl</label>
<select id="weapon_class" name="weapon_class" class="select_weapon">
<option value="-1"></option>
<optgroup id="optgroup_pistol" label="Pistolen">
</optgroup>
</select>
<div id="weapon_cash" class="pa_cash">
<p id="weapon_cash_sum" class="pa_cash_sum">0 $</p>
</div>
推荐阅读
- api - 检查是否使用 Probot 的模板创建了 Github 存储库
- javascript - 如何在 javascript 中将标题添加到 CSV 文件
- ionic-framework - 已验证 AngularFire 警卫的电子邮件
- html - 适合容器而不溢出身体
- javascript - 从 javascript 加载内容时调用 onclick
- vba - 从网站打开/保存文件的宏
- lisp - 如何使 Lisp 输入区分大小写
- javascript - 如何从JMeter的html脚本标签下的http响应中提取值?
- python - 如何对数据框进行二次采样?
- css - 在使用检查元素识别对象类时遇到问题