Javascript选择框

Javascript选择框,javascript,Javascript,嗨,我是javascript新手,正在尝试创建一个带有一些选项的表单 我正在为一家木地板修复公司建立一个网站,他们想要一个表格,用户可以填写一些选项,并获得一份粗略的价格指南 因此,我使用SmartFormer创建了一个表单,但存在问题 使用具有5种不同地板类型的列表框,假设在列表框中选择Pine地板,然后在选择框中列出当前地板的饰面类型,我要做的就是为每个饰面设置不同的值。当前,如果选择Finish-Original Never Sanded,例如,它们当前都给出相同的值(500)。我如何更改

嗨,我是javascript新手,正在尝试创建一个带有一些选项的表单

我正在为一家木地板修复公司建立一个网站,他们想要一个表格,用户可以填写一些选项,并获得一份粗略的价格指南

因此,我使用SmartFormer创建了一个表单,但存在问题

使用具有5种不同地板类型的列表框,假设在列表框中选择Pine地板,然后在选择框中列出当前地板的饰面类型,我要做的就是为每个饰面设置不同的值。当前,如果选择Finish-Original Never Sanded,例如,它们当前都给出相同的值(500)。我如何更改它,以便在选择上蜡或上油时,它们具有不同的值

下面是到目前为止的脚本,如果有人能告诉我我需要更改或添加什么,我将非常感激,我的发际线也会非常感激,因为我已经没有更多的东西可以拔了

谢谢

function add_item(id,val,_obj) {
 tmp=document.createElement("OPTION");http://localhost/mcmullan/administrator/components/com_smartformer/plugins/edit_area/images/spacer.gif
 tmp.value=id;
 tmp.text=val;
 _obj.options.add(tmp); 
}
function boards_change(field) {
 if (field.selectedIndex==0) { 
  while ({%id28}.options.length>0) {%id28}.remove(0);
  add_item(0,'-- Please select --',{%id28});
  add_item(1,'Pine Boards- Original Never Sanded',{%id28});
  add_item(2,'Pine Boards- Sanded & Varnished/Lacquered',{%id28});
  add_item(3,'Pine Boards- Sanded & Varnished/Lacquered',{%id28});
  {%id31}.value='500';
 } else 
 if (field.selectedIndex==1) {  
  while ({%id28}.options.length>0) {%id28}.remove(0);
  add_item(0,'-- Please select --',{%id28});
  add_item(1,'Mosaic - Sanded & Varnished/Lacquered',{%id28});
  add_item(2,'Mosaic - Sanded & Varnished/Lacquered',{%id28});
  add_item(3,'Mosaic - Sanded & Varnished/Lacquered',{%id28});
  {%id31}.value='600';
 } else
 if (field.selectedIndex==2) { 
  while ({%id28}.options.length>0) {%id28}.remove(0);
  add_item(0,'-- Please select --',{%id28});
  add_item(1,'Herringbone - Sanded & Varnished/Lacquered',{%id28});
  add_item(2,'Herringbone- Sanded & Varnished/Lacquered',{%id28});
  add_item(3,'Herringbone- Sanded & Varnished/Lacquered',{%id28});
  {%id31}.value='700';
 } else
 if (field.selectedIndex==3) { 
  while ({%id28}.options.length>0) {%id28}.remove(0);
  add_item(0,'-- Please select --',{%id28});
  add_item(1,'Hardwood - Sanded & Varnished/Lacquered',{%id28});
  add_item(2,'Hardwood - Sanded & Varnished/Lacquered',{%id28});
  add_item(3,'Hardwood - Sanded & Varnished/Lacquered',{%id28});
  {%id31}.value='800';
 } else
 if (field.selectedIndex==4) { 
  while ({%id28}.options.length>0) {%id28}.remove(0);
  add_item(0,'-- Please select --',{%id28});
  add_item(1,'Engineered Boards- Sanded & Varnished/Lacquered',{%id28});
  add_item(2,'Engineered Boards- Sanded & Varnished/Lacquered',{%id28});
  add_item(3,'Engineered Boards- Sanded & Varnished/Lacquered',{%id28});
  {%id31}.value='900';
 }
 calculate_price();
}
function calculate_price() {
 if({%id31}.value-0>0) {%id52}.value=({%id32}.selectedIndex+1)*({%id31}.value-0)+({%id35}.selectedIndex+1)*({%id31}.value-0)*10;
  else {%id52}.value='';
}
试试这个:


我不知道SmartFront是如何工作的,但我想我重构了足够的细节,让您知道如何继续。

你好,吉米,谢谢您的帮助,很抱歉我的回复太慢,有点忙。您添加的解决方案与我已有的解决方案相同,我需要的是值1、2和3的每个值都不同。非常感谢您的帮助,非常感谢。我更新了示例。。。我为正在完成的dropdownlist(%id28)连接了一个更改事件处理程序,现在它将提取该值并将其存储在%id99字段中。