2012-12-06 29 views
16
function call(op) { 
    var x = op.selectedOptions[0].textContent; 
    var n = x.substring(0, 3); 
    //alert(n); 
    document.pts.inputbox.value = n; 
    document.pts.submit(); 
} 

私は、リストボックス内の選択されたオプションからラベル値を取得し、最初の3文字を分解してその情報を入力ボックス値に渡す関数を持っています。selectedOptions [0] .textContent; IEまたはFirefoxで動作しません

問題は、jsが選択されたオプションのラベルのテキストコンテンツを取得していることにあります。それはクロームでうまくいくようですが、firefox17とIE9では何も起こりません。選択したオプションのラベル値を取得するためのよりよい方法に関する提案はありますか?

EDIT: 私はオプション値を使用できません。その値はより具体的なもののために予約されています すべてがJSfiddleでうまく動作します。

+0

'

+0

http://jsfiddle.netサイトにあなたのコードを入れて、調査するのは簡単でしょうか? –

+0

はい、私はオプションの値を使用することはできません。その数値は他の値です。 – user1868232

答えて

20

この

function call(op) { 
    var x = op.options[op.selectedIndex].text; 
    var n = x.substring(0, 3); 
    alert('Index : '+op.selectedIndex+' and first 3 lettrs are : '+n); 
} 

DEMOを試してみてください。

11

クイックJSFiddleに基づいて、selectedOptionsコレクションはまだ広くサポートされていません。

失敗/サポートされていない:

  • IE10(デスクトップまたはメトロ)
  • IE11
  • サファリ7
  • iOS6のOpera Mini
  • アンドロイド4.0.4ブラウザ
  • アンドロイド4.0 .4 Firefoxブラウザ

作品:

  • クローム23.0.1271.95
  • オペラ12.11
  • BlackBerryの10のブラウザ
  • iOS6のSafari
  • iOS6クローム
  • アンドロイド4.0.4オペラモバイルブラウザ
  • Firefox 53.0
  • エッジ
+0

関連記事[こちら](https://stackoverflow.com/q/10711767/465053)。 – RBT

関連する問題