2016-01-29 1 views
-1

Отказ от ответственности за возможное незнание вопроса - Я супер супер зеленый при кодировании Javascript, и я ищу дружеский совет.Как изменить расчёт на основе раскрывающегося списка?

Я ищу код очень простой калькулятор для веб-сайта. Этот калькулятор разрабатывает очень простой расчет для требований к теплоотдаче для комнаты в зависимости от размера. Но я хочу, чтобы вычисление слегка изменилось в зависимости от выбранного пользователем параметра раскрывающегося списка, а именно, если пользователь хочет ввести в метрах или футах.

Кодекса (в настоящее время) следующим образом:

function Calculate() { 
 
     var a = document.getElementById("height").value; 
 
     var b = document.getElementById("width").value; 
 
     var c = document.getElementById("depth").value; 
 
     var d = +a * +b * +c/14; 
 
     var x = d.toFixed(2); 
 
     document.getElementById("result").innerHTML = x; 
 
    }
<form style="width:100px;" name="myForm"> 
 
    <td> 
 
    <td>Units:</td> 
 
    <td> 
 
     <Select name="units"> 
 
     <option>Metres</option> 
 
     <option>Feet</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
</form> 
 

 
<form> 
 
    <table> 
 
    <tr> 
 
     <td style="padding-right:10px;">Height:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Height" id="height"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td style="padding-right:10px;">Width:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Width" id="width"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td style="padding-right:10px;">Depth:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Depth" id="depth"> 
 
     </td> 
 
    </tr> 
 
    <br> 
 

 
    <tr> 
 
     <td style="padding-right:10px;"> 
 
     <input type="button" onclick="Calculate()" value="Calculate" /> 
 
     </td> 
 
    </tr> 
 

 
    <tr> 
 
     <td style="padding-right:10px;">Heat output required in kW:</td> 
 
     <td> 
 
     <p id="result"></p> 
 
     </td> 
 
    </tr> 
 
    </table> 
 
</form>

Я в основном ищу выпадающий список, чтобы изменить расчет в «вара д» из указанного расчета на ((+a * +b * +c) *0.03) /14

Это так просто. Я читал разные темы, но они не все объясняют, что мне нужно.

Любая помощь здесь будет принята с благодарностью.

+1

ли вы на самом деле означает [JScript] (https://en.wikipedia.org/wiki/JScript) или вы просто сократили JavaScript? – JJJ

+0

Сказал вам, что я был зеленым ха-ха. Да, javascript –

ответ

0

Я бы дал ваш выбор id, затем запросите свой выбор и получите текст выбранного варианта. Если это «Метры» сделать это один из способов иначе сделать это по-другому, например, так:

function Calculate() { 
 
    var s = document.getElementById("units"); 
 
    var measure = s.options[s.selectedIndex].text; 
 
    
 
    var a = document.getElementById("height").value; 
 
    var b = document.getElementById("width").value; 
 
    var c = document.getElementById("depth").value; 
 
    var d; 
 
    if(measure=="Metres") 
 
    d = +a * +b * +c/14; 
 
    else 
 
    d = ((+a * +b * +c) *0.03) /14; 
 
    var x = d.toFixed(2); 
 
    document.getElementById("result").innerHTML = x; 
 
}
<form style="width:100px;" name="myForm"> 
 
    <td> 
 
    <td>Units:</td> 
 
    <td> 
 
     <Select name="units" id="units"> 
 
     <option>Metres</option> 
 
     <option>Feet</option> 
 
     </select> 
 
    </td> 
 
    </tr> 
 
</form> 
 

 
<form> 
 
    <table> 
 
    <tr> 
 
     <td style="padding-right:10px;">Height:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Height" id="height"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td style="padding-right:10px;">Width:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Width" id="width"> 
 
     </td> 
 
    </tr> 
 
    <tr> 
 
     <td style="padding-right:10px;">Depth:</td> 
 
     <td> 
 
     <input style="width:100px;" type="text" name="Depth" id="depth"> 
 
     </td> 
 
    </tr> 
 
    <br> 
 

 
    <tr> 
 
     <td style="padding-right:10px;"> 
 
     <input type="button" onclick="Calculate()" value="Calculate" /> 
 
     </td> 
 
    </tr> 
 

 
    <tr> 
 
     <td style="padding-right:10px;">Heat output required in kW:</td> 
 
     <td> 
 
     <p id="result"></p> 
 
     </td> 
 
    </tr> 
 
    </table> 
 
</form>

+0

Это замечательно. Теперь я лучше понимаю, как он должен работать. Есть ли причина, по которой этот измененный код не будет работать на jsfiddle? Я использовал его для стилизации формы и т. Д. Я щелкнул мышью, и это не сработало. Смотрите здесь скрипку https://jsfiddle.net/p15xcf57/ –

+0

, вам нужно щелкнуть по javascript (вверху справа от области js) и выбрать «Без обертки», а затем снова запустить заново, он должен работать после этого – depperm