2016-06-22 14 views
0

何が起こっているのですか?ドロップされたメニューをSTAYにすることを試みていますが、選択したものを元に戻します。それが問題だとわかっているので、誰かがjavascriptコードで私を助けることができますか?私はこれを自己学習しようとしている皆さん、ありがとう。Javascriptを使用してドロップダウンメニューの選択項目に留まる

function GetSelectedItem(){ 
 
\t \t var option = document.getElementById("locale").value; 
 
} 
 
//THIS WON'T WORK? 
 
function StayOnSelectedItem(){ 
 
\t \t var element = document.getElementById("locale"); 
 
\t \t var value = element.options[element.selectedIndex].value; 
 
\t } 
 
\t
<!doctype html> 
 
<html lang="en"> 
 
    <head> 
 
\t  <meta charset="utf-8"> 
 
\t  <title>My Website toolbar</title> 
 
\t  <link rel="stylesheet" href="languageswitcher.css"> 
 
    </head> 
 
    
 
    <body> 
 
    
 
    <header> 
 
    
 
     <div id="country-select"> 
 
     <form action="" method = "get"> 
 
      <select id= "locale" name="locale"> 
 
\t \t \t <option value="en_US">English(US)</option> 
 
\t \t \t <option value="en_GB">English(UK)</option> 
 
\t     <option value="bg_BG">Bulgarian</option> 
 
\t     <option value="cs_CS">Czech</option> 
 
\t     <option value="da_DK">Danish</option> 
 
\t \t \t <option value="de_DE">German</option> 
 
\t \t \t <option value="ek_GR">Greek</option> 
 
\t \t \t <option value="es_ES">Spanish</option> 
 
\t  \t   <option value="et_ET">Estonian</option> 
 
\t \t \t <option value="fi_FI">Finnish</option> 
 
\t \t \t <option value="fr_FR">French</option> 
 
\t \t \t <option value="hu_HU">Hungarian</option> 
 
\t \t \t <option value="it_IT">Italian</option> 
 
\t \t \t <option value="lt_LT">Lithuanian</option> 
 
\t \t \t <option value="lv_LV">Latvian</option> 
 
\t \t \t <option value="nl_NL">Dutch</option> 
 
\t \t \t <option value="no_NO">Norwegian</option> 
 
\t \t \t <option value="pl_PL">Polish</option> 
 
\t \t \t <option value="pt_PT">Portugese</option> 
 
\t \t \t <option value="ro_RO">Romanian</option> 
 
\t \t \t <option value="sk_SK">Slovak</option> 
 
\t \t \t <option value="sl_SL">Slovenian</option> 
 
\t \t \t <option value="sv_SE">Swedish</option> 
 
      </select> 
 
      <input value="Select" type="submit" /> 
 
     </form> 
 
     </div> 
 
    </header> 
 
    <script src="languageswitcher.js"></script> 
 
    
 
</body> 
 
</html>

+0

私がStayOnSelectedItem()を使用している場所は表示されませんが、投稿コードは実行コードスニペットで動作しているようですが、selectをクリックするとddlbは選択内容を保持します。 –

+0

ページのリロード時に 'select-input'の値を設定してください – Rayon

+0

このコードをコピーしてメモ帳++に貼り付けてブラウザで開くと、私の問題はイタリア語のような別の言語を選択したときです(JavaScriptの第1の機能)リンクに私を連れて行くだろうが、何が起こるのは、ドロップダウンメニューがデフォルト(英語米国) – Giorgio

答えて

0

あなたのタイトル

Javascriptを

を使用して(ボックスを選択)ドロップダウンリストから選択したテキストを取得します。同じ質問ではありませんあなたの最初の文章として:

何が起きているのですか?私は選択されたものにとどまるようにドロップダウンメニューを取得しようとしていますが、私が送信した後にデフォルトに切り替わります。

ドロップダウンリストで選択されたオプションからテキストを取得するには、あなたがタイプ提出のボタンをクリックした後にその値を維持するためのフォームを取得するには

var e = document.getElementById('locale'); 
var text = e.options[e.selectedIndex].text; 
console.log(text); 

を使用し、それが動作するはずですデフォルトではこの方法です。私が知っていることから、ブラウザは、タイプサブミットのボタンをクリックすると、ドロップダウンフィールドをクリアしたい理由がありません。

onsubmitイベントにreturn false;を含めることで、ブラウザのデフォルト動作をテストすることができます。

<input value="Select" type="submit" onsubmit="GetSelectedItem(); return false;" /> 

編集:そして、あなたのコメントの返信から、あなたの実際の質問は完全に何か他のものであるようです。ページを離れた後にドロップダウンリストの値を保持したい場合は、値をどこかに保存する必要があります(最も一般的には、Cookie、SessionStorage、またはJavascriptの範囲外にあるサーバー側のセッション)。

SessionStorageを使用する場合はthis MDN articleをお勧めします。

+0

あなたは正しいです申し訳ありません私はタイトルを正しく書き込まなかった! – Giorgio

+0

"コメント返信、あなたの実際の質問は完全に何か他のものだと思われます。ページを離れた後にドロップダウンリストの値を保持したい場合は、値をどこかに保存する必要があります(最も一般的には、Cookie、SessionStorage、またはJavascriptの範囲外にあるサーバー側のセッション)。 "意味することは、ドロップダウンメニューをjavascriptを使って選択したものにそのまま残すことはできないということですか? – Giorgio

+0

ジョルジョ、私があなたに言ったことを私に伝えてくれと思っています。私の答えの一番下にあるMDNの記事へのリンクで、SessionStorageを使って訪問を渡ってデータを保存する方法について説明しています(ページを残したとしても)。 –

0
function GetSelectedItem() 
{ 
    var index = document.getElementById("locale").selectedIndex;  
    alert("value =" + document.getElementById("locale").value); // show selected value 
    alert("text =" + document.getElementById("locale").options[index].text); // show selected text 
} 
+0

ありがとう多くのTanviしかし、それは私のために働いていませんでした:( – Giorgio

+0

あなたは何を取得していますか? –

+0

質問は私の問題だった質問は正しくありません – Giorgio

関連する問題