Инструкция If..else внутри функции JavaScript не работает - PullRequest
0 голосов
/ 15 мая 2018

Сразу же, мой вопрос: как поместить оператор if else внутри copy_Power_Plant (), чтобы определить его значение, Да, Нет или Неясно.То, как я это делаю, не работает.Мой код ниже.

...................................................................

игнорировать здесь, мне нужно напечатать много деталей, чтобы stackoverflow позволил мне публиковать сообщения.это так раздражает.

<!DOCTYPE html>
<html>
<body>
<script>
function copy_Type_Mount() {
document.getElementById("label_Type_Mount").innerHTML = document.getElementById("Type_Mount").value+" AC Units "}

function copy_No_Units() {
document.getElementById("label_No_Units").innerHTML = document.getElementById("No_Units").value}


function copy_Size(){
document.getElementById("label_Size").innerHTML = document.getElementById("Size").value+ " HP "}




//below this function is the problem

function copy_Power_Plant(){
var pp=document.getElementById("Power_Plant").value;
if(pp=='Yes'){
document.getElementById("label_Power_Plant").innerHTML ='+ Power Plant'}}

</script>


<font id="label_No_Units"></font>&nbsp;<font id="label_Type_Mount"></font><font id="label_Size"></font><font id="label_Power_Plant"></font><br>
<p1>Type of Mount:</p1><br>
<select id="Type_Mount" name="Type_Mount" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();"  required>
<option value="Wall Mount">Wall Mount</option>
<option value="Ceiling Mount">Ceiling Mount</option>
</select><br><br>


<p1>Number of Units:</p1><br>
<select id="No_Units" name="No_Units" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
</select>
                    <br>
                    <br>

<p1>Size (H/P):</p1><br>
<select id="Size" name="Size" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
                    <option value="1">1</option>
                    <option value="1.5">1.5</option>
                    <option value="2">2</option>
                    <option value="2.5">2.5</option>
</select>
                    <br>
                    <br>

<p1>Power Plant Installation Required?</p1><br>
<select id="Power_Plant" name="Power_Plant" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
                    <option value="Yes">Yes</option>
                    <option value="No">No</option>
                    <option value="Unclear">Unclear</option>
</select>
                    <br>
                    <br>            
</body>
</html>

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

В вашем коде нет других операторов.Поэтому он работает только для оператора if.Реализуйте операторы else if и else, чтобы охватить все 3 экземпляра.

function copy_Type_Mount() {
document.getElementById("label_Type_Mount").innerHTML = document.getElementById("Type_Mount").value+" AC Units "}

function copy_No_Units() {
document.getElementById("label_No_Units").innerHTML = document.getElementById("No_Units").value}


function copy_Size(){
document.getElementById("label_Size").innerHTML = document.getElementById("Size").value+ " HP "}

//below this function is the problem

function copy_Power_Plant(){
    var pp=document.getElementById("Power_Plant").value;
     if(pp === 'Yes'){
        document.getElementById("label_Power_Plant").innerHTML ='+ Power Plant'
    }
    else if(pp === 'No') {
        document.getElementById("label_Power_Plant").innerHTML ='+ No Plant'
    }
    else {
        document.getElementById("label_Power_Plant").innerHTML =''
    }
}
<font id="label_No_Units"></font>&nbsp;<font id="label_Type_Mount"></font><font id="label_Size"></font><font id="label_Power_Plant"></font><br>
<p1>Type of Mount:</p1><br>
<select id="Type_Mount" name="Type_Mount" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();"  required>
<option value="Wall Mount">Wall Mount</option>
<option value="Ceiling Mount">Ceiling Mount</option>
</select><br><br>

<p1>Number of Units:</p1><br>
<select id="No_Units" name="No_Units" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
</select>
<br>
<br>

<p1>Size (H/P):</p1><br>
<select id="Size" name="Size" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
    <option value="1">1</option>
    <option value="1.5">1.5</option>
    <option value="2">2</option>
    <option value="2.5">2.5</option>
</select>
<br>
<br>

<p1>Power Plant Installation Required?</p1><br>
<select id="Power_Plant" name="Power_Plant" onchange="copy_No_Units();copy_Type_Mount();copy_Size();copy_Power_Plant();" required>
    <option value="Yes">Yes</option>
    <option value="No">No</option>
    <option value="Unclear">Unclear</option>
</select>
                  
0 голосов
/ 15 мая 2018

, чтобы добавить ответ выше, вы можете использовать switch-case комментарий. как это:

       function copy_Power_Plant() {
           var pp = document.getElementById("Power_Plant").value;
           switch (pp) {

               case 'Yes':
                   document.getElementById("label_Power_Plant").innerHTML = '+ Power Plant';
                   break;
               case 'No':
                   document.getElementById("label_Power_Plant").innerHTML = '+ No Plant';
                   break;
               case 'Unclear':
                   document.getElementById("label_Power_Plant").innerHTML = '';
                   break;
           }
       }
0 голосов
/ 15 мая 2018

Используйте оператор JavaScript elseif, чтобы охватить все три условия:

if (pp == "Yes") {
    //Yes code
} else if (pp == "No") {
    //No code
} else {
    //Unclear code (if by unclear you meant undefined)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...