2017-05-23 10 views
0

HTMLIf..else条件エラースイッチケース内および選択するドロップダウンlist.Iは、ドロップダウンを持って前に

<tr> 
    <td>Asset Group:</td> 
    <td> 
    <select id="assetgroupSelect" name='assetgroupSelect' onChange="Togglefields(this)"> 
     <option value=""+>(choose asset group)</option> 
            <?while ($arrResult = $result->Fetch()){?> 
     <option value = "<? echo $arrResult['Group_ID']?>,<? echo $arrResult['Asset_Type_ID']?>"> <? echo $arrResult['Group_Name'] ?> </option><?}?> 
    </select> 
    </td> 
</tr> 

<tr id='remarkhiddenRow'> 
    <td>Remarks: </label> 
    </td> 
    <td><input type="text" id="remark"></td> 
</tr> 

<tr id='filehiddenRow'> 
    <td>Supporting File: </label> 
    </td> 
    <td><input type="text" id="file"></td> 
</tr> 
<trid='contacthiddenRow'> 
    <td>Contact No: </td> 
    <td><input type="text" id="contactNo"></td> 
    </tr> 


    <tr id='emailhiddenRow'> 
    <td>Email: </td> 
    <td><input type="text" id="email"></td> 
    </tr> 

JS

function Togglefields(obj) { 
    var value = "call the value from dropdown selected"; 
    var namevalue = "call the namefrom dropdown selected"; 

    var assettypeid = "call the secondvalue from dropdown selected"; 

    switch (assettypeid) { 
    case '9': 
     alert(namevalue); 
     if (namevalue == "Rack" || namevalue == "VLAN" || namevalue == "Cluster Segment") { 
     $('#remarkhiddenRow').show(); 
     $('#filehiddenRow').show(); 
     } else if (namevalue == "Vendor") { 
     $('#receiveddatehiddenRow').show(); 
     $('#remarkhiddenRow').show(); 
     $('#filehiddenRow').show(); 
     $('#contacthiddenRow').show(); 
     $('#emailhiddenRow').show(); 
     $('#supporthiddenRow').show(); 
     } else { 
     $('#remarkhiddenRow').show(); 
     $('#filehiddenRow').show(); 
     $('#contacthiddenRow').show(); 
     $('#emailhiddenRow').show(); 

     } 
     break; 
    default: 
     $('#receiveddatehiddenRow').hide(); 
     $("#remarkhiddenRow").hide(); 
     $('#filehiddenRow').hide(); 
     $('#contacthiddenRow').hide(); 
     $('#emailhiddenRow').hide(); 
     $('#supporthiddenRow').hide(); 
    } 
} 

テキストボックスのフィールドはすでに非表示にしている前回選択された値を取得することはできません。ドロップダウンリストの値(9)を選択すると、名前が「Rack」と等しい場合は2つのテキストボックスが表示されますが、「ベンダー」を選択すると6つのテキストボックスが表示されます。しかし、「ラック」に戻ってきたときに、2つのテキストボックスを表示するのではなく、6つのテキストボックスが表示されていました。その場合、どうすればいいですか?誰でも私に教えてください!ありがとうございました。

+0

すべてのコード(HTMLとJavascript一緒に) –

+1

コードを入力してください。 – Barmar

+1

すべてのチェックボックスに同じクラスを付けることをお勧めします。そして、 '$(" .class ")。hide();'を一度に非表示にしてから、ドロップダウンから選択した内容に応じて表示したいものを表示することができます。 – Barmar

答えて

0

表示したくない要素を非表示にする必要があります。このように:Rack`は、他のすべてのテキストボックスを非表示にする必要があります `ため

switch(assettypeid) 

      { 
       case '9': 
       alert (namevalue); 
        if (namevalue =="Rack" || namevalue== "VLAN" || namevalue=="Cluster Segment"){ 
         $('#remarkhiddenRow').show(); 
         $('#filehiddenRow').show(); 

         } 
        else { 

         $('#filehiddenRow').hide(); 
         $('#contacthiddenRow').hide(); 
         $('#emailhiddenRow').hide(); 
         $('#supporthiddenRow').hide(); 

        } 

        if (namevalue=="Vendor"){ 
         $('#receiveddatehiddenRow').show(); 
         $('#remarkhiddenRow').show(); 
         $('#filehiddenRow').show(); 
         $('#contacthiddenRow').show(); 
         $('#emailhiddenRow').show(); 
         $('#supporthiddenRow').show(); 

         } 

        if (namevalue != "Rack" && namevalue != "VLAN" && namevalue != "Cluster Segment" && namevalue != "Vendor") {       
         $('#remarkhiddenRow').show(); 
         $('#filehiddenRow').show(); 
         $('#contacthiddenRow').show(); 
         $('#emailhiddenRow').show(); 

         } 
        else {       
         $('#receiveddatehiddenRow').hide(); 
         $('#supporthiddenRow').hide(); 
        } 


         break; 

       default: 
         $('#receiveddatehiddenRow').hide(); 
         $("#remarkhiddenRow").hide(); 
         $('#filehiddenRow').hide(); 
         $('#contacthiddenRow').hide(); 
         $('#emailhiddenRow').hide(); 
         $('#supporthiddenRow').hide(); 

      } 
+0

これはうまくいくかもしれませんが、コードを大幅に改善することができます – Rajesh

関連する問題