2011-10-23 8 views
0

私が持っている状況は、ドロップダウンリストとHTMLページのイメージです。私はjavascriptスクリプトを使用しています。 switch文を使用しています。私はスイッチとケースのステートメントを構築しました。これまでのところ、ドロップダウンリストで選択すると、ブラウザに一意のメッセージを表示する警告ボックスが表示されました。しかし、私は、ページ上のイメージを各メッセージと共に変えたいと思っています。 switchパラメータで複数の変数を使用しようとしましたが、警告ボックスが無効になります。メッセージボックスと画像を呼び出すことができる単一のスイッチ変数を使用する方法はありますか?または、スイッチパラメータに複数の変数を使用する方法がありますか?私はインターネットを研究していますが、このフォーラムでも回答はありますが、私の問題に合ったものは見つかりませんでした。私はif文とAJaxを使っていくつかの答えを見つけましたが、それは私の宿題の範囲外であり、これまでに学んだことです。だから基本的に私の仕事は、スイッチの構成を使って選択を評価し、一致が見つかると、適切なイメージと警告ボックスを表示することです。助言がありますか。switchパラメータで2つ以上の変数を使用して、switch文のページ内容を変更します。それはできますか?

+0

私は大きな、そして他の人はどちらかない可能性があること段落を読んでするつもりはありません。それはちょうど*ハード*です。 –

+0

コードを投稿してください –

+0

ご意見ありがとうございます。私は学んでいるので、何が効果的で何が効果がないかを知ることは良いことです。私は今から少しずつ小節で段落を分割しようとします。 – swydell

答えて

0

イメージのソースは、それぞれのケースごとに変更できます。 switch文は1つのパラメータのみを受け入れます。

HTML

<img src="image_path" id="myImage" /> 

はJavaScript

var img = document.getElementById("myImage"); 
switch(value) { 
    case 0: 
     alert("message"); 
     img.src = "new_path"; 
     break; 
    case 1: 
     alert("message"); 
     img.src = "new_path"; 
     break; 
    default: break; 
} 
+0

私はYoutubeであなたの答えに似たものを見ましたが、うまくいくかどうかは分かりませんでした。それを稼働させようとしているナッツに向かっていました。 – swydell

1

スイッチ式に複数の変数が必要なようには聞こえません。むしろ、スイッチの各ブランチには複数のステートメントが必要です。例:

switch(selectedValue) 
{ 
    case 'foo': 
     alert('foo'); 
     imageElement.src = 'http://foo'; 
     break; 
    case 'bar': 
     alert('bar'); 
     imageElement.src = 'http://bar'; 
     break; 
} 
+0

絶対パスである必要がありますか、絶対参照ですか?すべての画像は同じフォルダにあります。 – swydell

+0

絶対URIである必要はありません。それは相対URIである可能性があります。この場合、HTML文書のURIに対して相対的に解釈されます。 (たとえば、HTMLドキュメントがhttp://example.com/foo.htmlにあり、JavaScriptがhttp://example.com/scripts/foo.jsである場合、 'imageElement.src = 'イメージを設定することができます/ foo.jpg''、そして私は* http://example.com/images/foo.jpgに解決すると信じていますが、試してみてください) – ruakh

+0

私はあなたの提案を相対パスで試してみました。警告メッセージが表示される。それは私にデフォルトを与えた。私もimg.src = "new_path"を使ってみましたが、同じデフォルトを持っていました。私はsunPic = "document.getElementById(" pic ")。selectedIndex;をvar名として使用しました。私はsunPicを関数とスイッチのパラメータとcase文で使用しました。 – swydell

関連する問題