2016-09-13 4 views
0

を試す最初の発生しません。最初にドロップダウンからアイテムを選択すると、起動しません。ただし、最初の変更に続く変更はすべて発生します。は、私はHTMLコードを持って

コードを編集して、最初にドロップダウンからアイテムを選択するとすぐに消えます。

答えて

3

これはあなたの現在のコードがどのように動作するかです:

  1. それは要素のonchange属性で呼ばれていますので、変更イベントが、dropdownChange()ランをたまたま初めて。

  2. は、イベントリスナーを登録し、何もしないで返します。

  3. dropdownChange()で登録されたイベントリスナーが実行され、changeVendor(this.value)が呼び出されます。


あなたはおそらくしたい:あなたはそれでchangeVendor()を呼び出すためにdropdownChange()機能を作成しないようにしたい場合は

function dropdownChange() { 
    changeVendor(this.value); 
} 

はまた、onchangeに直接changeVendor(this.value)を呼び出すことができます。

<select onchange="changeVendor(this.value)"> 
    <option>Choose a vendor</option> 
</select> 
+0

「this」にはプロパティ 'value'が含まれないと心配です。 'select'タグの' dropdownChange'関数を指しています –

+3

@HappyCoding、 'this'は要素の' onchange'属性から呼び出された場合、OPのコードのように要素を参照します。 – rid

0

次のように使用できます。選択の時間。

<select id = "dropdownList" onchange = "dropdownChange(this.value)"> 
    <option> Choose a vendor </option> 
    <option value="test"> test </option> 
    <option value="test1"> test1 </option> 
</select> 

JavaScriptは次のようなものです。

function dropdownChange(value) { 
     alert(value); 

    } 
関連する問題