onload ページイベントでの自動選択に JavaScript を使用している jsp ページと、いくつかのコンテンツを含むさまざまな div タグを動的に展開するための jQuery があります。
したがって、問題はsetSelection
、スクリプトタグのページの下部にあるメソッドの呼び出しと、呼び出された js メソッドにある jQuery メソッドがtoggle
IE8 でまったく機能しないことです。ただし、Chrome、Firefox、および IE9 では問題なく動作します。
私はこの問題を何度もグーグルで検索しましたが、役立つものは何も見つかりません。IE8 のデバッガー ツールで表示される唯一のエラーは、「オブジェクトが必要です」と「式が必要です」です。
コードは次のとおりです。
<html>
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
function toggle(el)
{
var val = el.options[el.selectedIndex].value;
if (val == "1")
{
document.getElementById("2").style.display = "none";
$("#1").slideToggle(250);
}
else if (val == "2")
{
document.getElementById("1").style.display = "none";
$("#2").slideToggle(250);
}
else if (val == "0")
{
document.getElementById("1").style.display = "none";
document.getElementById("2").style.display = "none";
}
}
function setSelection(selection)
{
//Here we make dynamic selection of the combo box
var selct = document.getElementById("sel");
selct.options[selection].setAttribute("selected", "selected");
toggle(selct);
}
</script>
</head>
<body>
<select name="mySel" id = "sel" onchange="toggle(this);">
<option value="0">Zero</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<div id="1" style="border:1px;">
</div>
<div id="2" style="border:1px;">
</div>
<script>
setSelection(0);
</script>
</body>
</html>
誰か助けてくれませんか?