如何根据3个下拉列表中的输入计算值?

时间:2016-07-15 16:17:53

标签: javascript php

我有三个下拉列表,分别有6,3,3个选项。我需要根据从下拉列表中选择的值的组合来计算值。对于下拉菜单的54种不同的排列和组合,我有54个不同的值。请建议在PHP中实现此优化的方法。

enter code here
 <select name="designation" id="desg">
  <option value="1">International Doctor</option>
  <option value="2">Domestic Doctor</option>
  <option value="3">MBBS STUDENT</option>
  <option value="4">nursers </option>
  <option value="5">Postgraduates / Interns</option>
  <option value="6">Faculty</option>
</select>
<select name="workshop" id="wshop">

    <option value="None">None</option>

    <option value="workshop1">workshop1:PACET</option>

    <option value="workshop2">workshop2:PEMC</option>

    <option value="workshop3">workshop3:Research Workshop</option>

   </select>
   <select name="category" id="cat">


    <option value="None">None</option>

    <option value="1">1</option>

    <option value="2">2</option>

    <option value="3">3</option> 
    </select>

如果用户选择他的名称,类别,车间,则应显示相应的金额 picture contain a table with corresponding amount for different workshops,desginations,category

2 个答案:

答案 0 :(得分:1)

问题对我来说不是很清楚,但我将展示一个可以帮助你的例子。

此代码可能类似于此网页的代码

dbWriteTable(mydb, name = "fooDB", df, field.types = dbtypes, row.names = FALSE, append = TRUE)

您可以为您的排列创建一个assosiative数组(在此示例中名为<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> var mapping={'13':'Bob','14':'Alice','23':'foo','24':'bar'} function displayMapping(){ var e1=document.getElementById('l1') var e2=document.getElementById('l2') var key=e1.options[e1.selectedIndex].value+e2.options[e2.selectedIndex].value; document.getElementById('sum').innerHTML =mapping[key]; } </script> </head> <body> <select name="l1" id='l1' onchange="displayMapping()"> <option value="1">1</option> <option value="2">2</option> </select> <select name="l2" id='l2' onchange="displayMapping()"> <option value="3">3</option> <option value="4">4</option> </select> <p name="sum" id='sum'></p> </body> </html> 的数组),然后您可以创建一个函数,当您的下拉列表中有任何更改时,该函数将自动调用(在这种情况下,该函数是mapping)。

此示例使用displayMapping(),因此反映在本地计算机中,如果您想在服务器端计算,那么它可能对您没有用。< / p>

答案 1 :(得分:0)

可以像那样使用

selectName [] selectName2 []