Javascript 如何在更改第二个选择选项时使用不同的属性
我试图通过更改两个不同的选择选项来更改输入框的值 第一个Javascript 如何在更改第二个选择选项时使用不同的属性,javascript,php,html,Javascript,Php,Html,我试图通过更改两个不同的选择选项来更改输入框的值 第一个选择框是产品类型,选项上有两个不同的数据属性:数据价格和数据价格 第二个选择框pay_type用于在数据价格或数据价格之间进行选择,以更新lprice的值 这就是我尝试过的: var sp=document.getElementById('select_product'); var lp=document.getElementById('lprice'); var count=document.getElementById('count'
选择
框是产品类型
,选项上有两个不同的数据属性:数据价格
和数据价格
第二个选择框pay_type
用于在数据价格
或数据价格
之间进行选择,以更新lprice
的值
这就是我尝试过的:
var sp=document.getElementById('select_product');
var lp=document.getElementById('lprice');
var count=document.getElementById('count');
var fp=document.getElementById('price');
var pt=document.getElementById('paytype');
所选变量类型=pt.options[pt.selectedIndex];
sp.onchange=函数(){
所选变量=sp.options[sp.selectedIndex];
如果(所选类型===1){
lp.value=selected.getAttribute('data-price');
}否则{
lp.value=selected.getAttribute('data-price_c');
}
fp.value=“”;
};
sp.onchange();
count.onchange=函数(){
fp.value=lp.value*count.value;
}
精选产品
产品1
产品2
产品3
薪酬类型:
现金
部
单一价格:
计数:
全价:
我希望我从代码和解释中正确地低估了您需要做的事情:
您的第一个问题是,您在onchange函数之外选择了类型,因此在onchange函数中没有得到更改的选项
第二种情况是,您试图将值1和2
与元素进行比较,而没有实际从元素中提取这些值(在所选类型上缺少.value
)
我假设您还需要更新支付类型
更改以及选择产品
上的值,因此在本例中,没有技巧将两个HTML选择包装到一个div中div id=“wrapper”
,如果其中任何一个发生更改,它将侦听两个选择并调用函数。现在您可以在wrapper.onchange
上调用它
我还建议您将您的计算fp.value=lp.value*count.value
在这个函数中,在这些元素发生变化时更新总价,所以我将您的计数:
包装到包装div
中
希望这有帮助
var sp=document.getElementById('select_product');
var lp=document.getElementById('lprice');
var count=document.getElementById('count');
var fp=document.getElementById('price');
var pt=document.getElementById('paytype');
var wrapper=document.getElementById('wrapper');
wrapper.onchange=函数(){
所选变量=sp.options[sp.selectedIndex];
所选变量\u type=pt.options[pt.selectedIndex].value;
如果(所选类型=“1”){
lp.value=selected.getAttribute('data-price');
}
如果(所选类型=“2”){
lp.value=selected.getAttribute('data-price_c');
}
fp.value=“”;
fp.value=lp.value*count.value;
};
wrapper.onchange()代码>
精选产品
产品1
产品2
产品3
薪酬类型:
现金
部
单一价格:
计数:
全价:
首先,如果您需要使用==或更好的===,那么JS中的single=就是分配符号。所以你的if语句一开始没有做任何事情。另外,请用示例数据制作HTML,这样就可以品尝JS了。这对每个人来说都比较容易。如何创建一个最小的、可重复的示例,并获得想要的结果。