1

10 個のエントリを持つコンボボックスがあり、1 つをクリックすると、ユーザーがコンボボックスで選択したものに基づいて選択エントリを変更したいと考えています。これと似たようなことを試しましたが、うまくいかないようです。

    if (document.getElementById('label').selectedIndex = '0')
        {document.getElementById('labelname').innerHTML='choice1';}

            else if(document.getElementById('label').selectedIndex = '1')
                {document.getElementById('labelname').innerHTML='choice2';}

                    else(document.getElementById('label').selectedIndex = '2')
                        {document.getElementById('labelname').innerHTML='choice3';} 

問題は、どのカムをクリックしても常に最後のカムに戻ってしまい、10 個のエントリすべてのラベルとして「choice3」が表示されることです。何か助けはありますか?これらはまだ機能していないため、コードを完成させていません。

4

4 に答える 4

1

コードには 2 つの主な問題があります。

  1. 等値比較では、'=' ではなく '==' を使用する必要があります。「=」は値を変更します
  2. 最後の「else」には「if」キーワードが必要です

正解は以下の通り。

<html>
<head>
<script type="text/javascript">
function select() {

   if (document.getElementById('label').selectedIndex == '0')
        {document.getElementById('labelname').value ='choice1';}

            else if(document.getElementById('label').selectedIndex == '1')
                {document.getElementById('labelname').value ='choice2';}

                    else if(document.getElementById('label').selectedIndex == '2')
                        {document.getElementById('labelname').value ='choice3';} 

}
</script>       
</head>     

<body>

<select id="label">
<option>1</option>
<option>2</option>
<option>3</option>
</select>

<button onclick="select()">Select</button>

<input type="text" id="labelname" />

</body>


</html>
于 2012-10-11T08:31:03.217 に答える
0
  if (document.getElementById('label').selectedIndex == '0')
        {document.getElementById('labelname').innerHTML='choice1';}

            else if(document.getElementById('label').selectedIndex == '1')
                {document.getElementById('labelname').innerHTML='choice2';}

                    else(document.getElementById('label').selectedIndex == '2')
                        {document.getElementById('labelname').innerHTML='choice3';} 

これを試して。==値を確認するために使用します。

于 2012-10-11T08:10:42.640 に答える
0
var selValue = document.getElementById('label').value;
document.getElementById('labelname').innerHTML = selValue;

これが機能するには、「ラベル」が次のようになっている必要があります。

<select id="label">
    <option>Name one</option>
    <option>Name two</option>
    <option>Name three</option>
</select>

.value内部テキストを提供します<option selected>text in here is .value</option>

アップデート。JS:

  var index = document.getElementById('label').selectedIndex;
  var labelName = document.getElementById('labelName');

  switch(index) {
    case 0:
      labelName.innerHTML = "cam1";
      break;

    case 1:
      labelName.innerHTML = "cam2";
      break;
  }

さらにケースが必要な場合は、例のように追加するだけですcase 2: ... case 3: ...

psはのswitch() {}階層よりもはるかに美しいif ... else

于 2012-10-11T08:20:44.620 に答える
0

私は答えを見つけました:

変化する

{document.getElementById('labelname').innerHTML=='choice1';}

{document.getElementById('labelname').innerHTML='choice1';}

==何かに何かを割り当てたい場合は使用しないでください

これをシミュレートできる詳細を教えていただけますか? HTML スニペットと JavaScript を含めます。こちらhttp://jsbin.com/

于 2012-10-11T08:09:03.280 に答える