2016-08-13 6 views
0

選択が行われたときにjavascript関数を呼び出すドロップダウンリストがあります。しかし、これが完了すると、関数は選択された項目が未定義であることを示します。 HTMLは次のとおりです。リストで未定義を取得する

 <div class="main">Color Options:&nbsp; 
    <select name="color_type" id="colorTypesList" style="width:170px" onchange="javascript:return ChangeColorType(this)" 
     class="form-control"> 
    <option value="0" selected="selected">Standard Vinyl</option> 
    <option value="1">Speciality Vinyl</option> 
    <option value="2">Metallic Vinyl</option> 
    <option value="3">Ultra Metallic Vinyl</option> 
    </select> 
    </div> 
    <div id="picked"> </div> 

javascriptのは、私はここにこれを追加しました

function ChangeColorType(item) { 
     var id = item.options[item.selectedIndex].value;   
     $("#picked").text("picked "+id); 
    } 

です:https://jsfiddle.net/bgtLa29d/が、それは全く機能していません。私は適切なインクルードを持っていない可能性がありますが、私はそれを行う方法を知らない。しかし、私のコンピュータでは、関数にアクセスしますが、選択された値は常に未定義です。

誰かが見てみませんか?

+0

それは私に働いています。 –

答えて

0

あなたのフィドルにはスコープ関連の問題があります。 jsfiddleはデフォルトでコードをロードハンドラでラップするので、関数はprivateになります。

//<![CDATA[ 
window.onload=function(){ 
function ChangeColorType(item) { 
     var id = item.options[item.selectedIndex].value;   
     $("#picked").text("picked "+id); 
    } 
}//]]> 

は、JavaScriptパネル上のNo wrap - in <body>またはNo wrap - in <head>オプションを選択する必要がありますし、あなたのコードは動作します!

+0

私はそのフィドルにその変更を加えましたが、現在は動作していますが、同じコードがローカルで私には失敗しています。私が行方不明になっている必要があるjqueryインクルードがありますか?私はjquery-2.2.3を含んでいます。 – user3052443

+0

私はそれを働かせました。コードはajaxで処理され、javascript関数はajaxファイルにあります。私はそれをメインファイルに移動し、現在動作しています。私は問題を見つけることができるので、迅速な助けを感謝します。 – user3052443

関連する問題