javascript - onchange 事件之间的冲突
问题描述
对于应该更改复选框值的国家/地区,我有一个选择下拉列表,因此可以在用户将其发送给我们之前根据价格摘要进行计算。
我遇到的问题是,我使用 3 个 JavaScript 代码进行选择下拉菜单,其中 2 个工作正常,它们是:
隐藏字段价格并根据所选国家/地区显示用户的代码
<script>
$(document).ready(function(){
$("select").on('change', function(){
$(this).find("option:selected").each(function(){
var optionValue = $(this).attr("value");
if(optionValue){
$(".small").not("." + optionValue).hide();
$("." + optionValue).show();
} else{
$(".small").hide();
}
});
}).change();
});
</script>
更改要在成本估算表中计算的值的代码
<script>
$(document).ready(function() {
var price = {
"usa": {
"value1": 33.00,
"value2": 30.00,
"value3": 24.00
},
"uae": {
"value1": 33.00,
"value2": 30.00,
"value3": 24.00
},
"egypt": {
"value1": 177,
"value2": 310,
"value3": 420
}
};
function updatePrice() {
var val1 = +$(".value1").val();
var val2 = +$(".value2").val();
var val3 = +$(".value3").val();
var countryList = $("[name='countryList']").val();
var one = val1 * price[countryList].value1;
var two = val2 * price[countryList].value2;
var three = val3 * price[countryList].value3;
$("#price1").val(one);
$("#extraOption1").val(one);
}
$(".input").on("keyup", updatePrice);
$("[name='countryList']").on("change", updatePrice);
});
</script>
上面的代码工作正常,但是当我使用下面的代码时它可以工作,但是它禁用了上面的 2 个代码
// the code update the order summary on selecting the country
$('#countryList').on('change', function () {
showSelectedItemPrice('#countryList');
updateSummary();
saveState();
reValidateTotal();
});
我认为更改事件正在相互禁用。如果有解决方案,请帮助我
解决方案
推荐阅读
- ejabberd - ejabberd 18.12 Centos 7:mod_muc 崩溃
- c# - IEnumerator 在 yield return new WaitForSeconds() unity 后停止
- postgresql - postgresql timescaledb 教程 COPY 和 UPDATE 速度
- css - Vaadin Flow TextField:如何动态更改字体颜色?
- angular - Angular 7 代码中只允许使用数组和可迭代对象
- batch-file - 在标记中选择更多单词
- r - R unlist分组数据框
- sql - 连接和比较两个不同表的开始日期和结束日期
- r - 当我使用索引引用数据框时,nrow() 返回 null
- css - 在 Firefox 中删除数字类型纸张输入上的微调器