2017-11-10 17 views
0

ロード直後およびユーザーが他の選択肢を選択したときにjavascriptが以下の関数を実行するようにします。以下の関数は、いくつかのフィールドを隠し、ユーザーの選択に応じていくつかのフィールドを表示します。フィールドをロードして非表示にする関数を実行

「現金」を選択する必要がある場合は、他のフィールドを非表示にする必要がありますが、「ギフト」を選択する必要がある場合は、他のフィールドが表示されます。

function TakeOff() { 
 

 
    if(document.getElementById('id_six_to').options[ 
 
     document.getElementById('id_six_to').selectedIndex].value == "cash") { 
 
     document.getElementById('id_name').style.display = 'none'; 
 
     document.getElementById('id_address').style.display = 'none'; 
 
     document.getElementById('id_details').style.display = 'none'; 
 
    } else { 
 
     document.getElementById('id_name').style.display = ''; 
 
     document.getElementById('id_address').style.display = ''; 
 
     document.getElementById('id_details').style.display = ''; 
 
    } 
 
} 
 

 
window.onload = function() { 
 
    document.getElementById('id_six_to').onchange = TakeOff; 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label class="sr-only" for="id_six_to">Mytake</label><select name="six_to" id="id_six_to" class="form-control" title=""> 
 
    <option value="cash" selected>Cash</option> 
 

 
    <option value="gift">Gift</option> 
 

 
    </select></div> 
 

 
    <div class="form-group"><label class="sr-only" for="id_name">Name</label><select name="name" title="" required class="form-control" id="id_name"> 
 
    <option value="" selected>---------</option> 
 

 
    <option value="a">a</option> 
 

 
    <option value="b">b</option> 
 

 
    <option value="c">c</option> 
 

 
    </select></div> 
 
<div class="form-group"><label class="sr-only" for="id_address">Address</label><input type="text" name="address" title="" id="id_address" readonly maxlength="10" placeholder="Address" class="form-control" /></div> 
 
<div class="form-group"><label class="sr-only" for="id_details">Details</label><input type="text" name="details" title="" id="id_details" maxlength="200" placeholder="" class="form-control" /></div> 
 

 
     <input type="submit" class="btn btn-danger repo" value="Submit" /> 
 
    </form> 
 
</div>

問題:私は、フォームのURLをロードするとき、デフォルトで

は、「現金は、」他のすべてを非表示にするJavaScriptの代わりに、オプションから選択され、デフォルトで「現金」が選択されているため、「現金」値に関連しない項目が表示されます。

「現金」が選択されているため、デフォルトで3つのフィールドを非表示にしたいとします。

+0

を選択値が変化し、物事の状態を設定する機能を発射。 – user3154108

+0

訂正していただきありがとうございます。 – YoYo

+0

あなたはvanilla javascriptのみに限定されていますか、またはjQueryを使用できますか?現在あなたの問題は何ですか?あなたは何の問題も指定していません。明らかにこれは「うまくいきません」ですが、どこに止まっていますか、何かエラーがありますか?あなたが試したことを私たちに教えてください。 – Glubus

答えて

1

ちょうどあなたがあなたのコード内の誤字やmispellingsの巨大な負荷、あなたの要素の特別のIDを持っている...

window.onload = function() { 
    document.getElementById('id_six_to').onchange = TakeOff; 
    TakeOff(); // add this so it runs at startup 
}; 
+0

ロックありがとう! – YoYo

+0

あなたは大歓迎です。それはまさに私がいつもユーザーが変えることができるスクリーン設定をする方法です。 – Archer

関連する問題