Javascript 我想使用switch语句显示所选项目的价格值
Switch语句和标记为Break的 AddEventTwinDow,‘加载’,初始化; 函数初始化 { //将事件添加到下拉列表中 addEventdocument.getElementById'chips','change',getPrice; } 功能名称,价格 { this.name=名称; 这个价格=价格; } var-ICs=新数组; ICs[0]=新产品Septium 900MHz,$149; ICs[1]=新产品Septium Pro 1.0GHz,$249; ICs[2]=新产品Octium BFD 750MHz,$329; var=新数组; 零食[0]=新产品雷氏薯片,1.79美元; 零食[1]=新产品奶酪小点心,1.59美元; 零食[2]=新产品玉米饼公寓,2.29美元; //在“表”中查找与产品相关的成本 函数getPrice { var chipName=this.options[this.selectedIndex].text; var chipType=this.options[this.selectedIndex].value; var outField=document.getElementById'cost'; 大师: 开关芯片 { 案例ICs: 对于变量i=0;iJavascript 我想使用switch语句显示所选项目的价格值,javascript,Javascript,Switch语句和标记为Break的 AddEventTwinDow,‘加载’,初始化; 函数初始化 { //将事件添加到下拉列表中 addEventdocument.getElementById'chips','change',getPrice; } 功能名称,价格 { this.name=名称; 这个价格=价格; } var-ICs=新数组; ICs[0]=新产品Septium 900MHz,$149; ICs[1]=新产品Septium Pro 1.0GHz,$249; ICs[2]=新产
开关坏了。应该是这样的:
switch (chipType) {
case "ICs":
for (var i = 0; i < ICs.length; i++) {
if (ICs[i].name == chipName) {
outField.value = ICs[i].price;
break master;
}
}
break;
case "snacks":
for (var i = 0; i < snacks.length; i++) {
if (snacks[i].name == chipName) {
outField.value = snacks[i].price;
break master;
}
}
break;
default:
outField.value = "Not Found";
break;
}
这很有效
Switch语句和标记为Break的
window.onload=初始化;
函数初始化
{
document.getElementById'chips'。添加了EventListener'change',getPrice;
}
功能名称,价格
{
this.name=名称;
这个价格=价格;
};
var-ICs=新数组;
ICs[0]=新产品Septium 900MHz,$149;
ICs[1]=新产品Septium Pro 1.0GHz,$249;
ICs[2]=新产品Octium BFD 750MHz,$329;
var=新数组;
零食[0]=新产品雷氏薯片,1.79美元;
零食[1]=新产品奶酪小点心,1.59美元;
零食[2]=新产品玉米饼公寓,2.29美元;
函数getPrice
{
var selectelem=document.getElementByIdchips,outField=document.getElementById'cost',outvalue=;;
var chipName=selectelem.options[selectelem.selectedIndex].text;
var chipType=selectelem.value;
如果!芯片类型
{
outField.value=;返回;
}
开关芯片
{
案例ICs:
var arr=ICs.filterfunctionitem{
return item.name==chipName;
};
outvalue=arr[0]。价格;
打破
个案小吃:
var arr=snakts.filterfunctionitem{
return item.name==chipName;
};
outvalue=arr[0]。价格;
打破
默认值:outvalue=未找到;中断;
}
outField.value=outvalue;
}
Switch语句和标记为Break的
选择要在芯片价格表中查找的芯片:
炸薯条:
间隔900MHz
Septium Pro 1.0GHz
八进制BFD 750MHz
薯片
奶酪
玉米饼公寓
传输控制协议
扑克芯片组
价格:
谢谢@vignesh,我没有得到outvalue=arr[0]的逻辑。price即arr[0]的适用性。filter返回一个匹配值数组。由于您具有唯一的值,因此过滤后的数组仅包含一个对象。所以使用arr[0]。非常感谢..@vignesh
var chips = document.getElementById('chips');
chips.addEventListener('change', getPrice);