0

以下のコードは、ドロップダウン リストを div コンテンツと一致させるものとします。「パイナップル」が見つかった場合は、このオプションを選択します。エラーを見つけることができなかったようです。

<head>
<script>
function displayResult(){

  var myObject=document.getElementById("mySelect");
  var myValue = $('#myContent').text();

  for(var i=0; i<myObject.length; i++){                        
      if(myObject.options[i].text == myValue){
          myObject.options[i].selected = true; 
          (also tried - myObject.options[i].selectedIndex = i;)
          break;
      }
  }
}
</script>
</head>

<body>

<div id="myContent">Pineapple</div>

<form>
   Select your favorite fruit:
   <select id="mySelect" size="4">
     <option>Apple</option>
     <option>Orange</option>
     <option>Pineapple</option>
     <option>Banana</option>
   </select>
</form>

<button type="button" onclick="displayResult()">Highlight Pineapple Option</button>

</body>

ノート:

オプションを強調表示したい。閉じ括弧の欠落はタイプミスでした。修正しました。.selectedIndex=i を試してみましたが、うまくいかなかったようです。

4

3 に答える 3

0

}関数の最後にa がありません。

そして、jQueryライブラリを含めるか、変更する必要があります

var myValue = $('#myContent').text();

var myValue = document.getElementById('myContent').innerHTML;

ただし、使用するより簡単なトリックは(結局のところ、良いトリックではありません... @RobGのコメントを参照してください

function displayResult() {

    var myObject = document.getElementById("mySelect");
    var myValue = document.getElementById('myContent').innerHTML;

    myObject.value = myValue;
}

ただし、IE の場合、オプションにはvalue属性を含める必要があります

<option value="Pineapple">Pineapple</option>

于 2012-12-21T02:16:49.107 に答える
0

それ以外の:

> myObject.options[i].selected = true;

使用する

myObject.selectedIndex = i;

selected プロパティを true に設定しても、必ずしもオプションが選択されるとは限りません (ブラウザーによって異なります)。

ああ、構文エラーがあります。

<script>
function displayResult(){

  var myObject=document.getElementById("mySelect");
  var myValue = $('#myContent').text();

  for(var i=0; i<myObject.length; i++){                        
    ...
  }
  // missing closing } for function body
</script>
于 2012-12-21T02:14:02.210 に答える
0

への閉じ括弧がありませんdisplayResult

于 2012-12-21T02:14:15.913 に答える