0

ボタンが押された後に同じページに結果を表示する単純なリスト ボックスを設定する必要があります。たとえば、次のコードは、7 日間のリストと各日の時刻を示しています。ボタンを押すと、「**.com のページ: 7-9」というポップアップが表示されます。

ポップアップを表示せずに、ボタンの下に「7-9」と表示するだけの結果を表示するにはどうすればよいですか?

<script>
function displayResult()
{
var x=document.getElementById("mySelect").selectedIndex;
alert(document.getElementsByTagName("option")[x].value);
}
</script>
</head>
<body>

<form>
Select a day:
<select id="mySelect">
  <option value="8-8">Monday</option>
  <option value="7-9">Tuesday</option>
  <option value="7-9">Wednesday</option>
  <option value="7-9">Thursday</option>
  <option value="7-10">Friday</option>
  <option value="10-10">Saturday</option>
  <option value="10-5">Sunday</option>
</select>
</form>    
<button type="button" onclick="displayResult()">Display result</button>

http://jsfiddle.net/78NKt/

4

1 に答える 1

2

insertBeforefunction.callを使用してこの方法を 試し、関数内のコンテキストを要素自体のコンテキストとして設定します。さらに、次を使用してselectの値を取得できますelement.value(はるかに短い):

   function displayResult() {
        var x = document.getElementById("mySelect");
        this.parentNode.insertBefore(document.createTextNode(x.value), this.nextSibling);
    }

 <button type="button" onclick="displayResult.call(this)">Display result</button>

デモ

于 2013-10-31T15:25:07.087 に答える