2016-03-28 21 views
2

GoogleマップAPIを使用しています。私のHTMLは次のようになります。Jquery関数を実行するための2つの条件()

<form id="searchTheme" method="get"> 
    <select class="form-control" name="thema" id="themaID"> 
      <option value="1">item1</option> 
      ... 
      <option value="5">item1</option> 
    </select> 
    <input type="submit" name="submit" value="zoek"> 
</form> 

<button id="allePois"> Alle POI&lsquo;s</button> 

私のjavascript(jQueryの)次のようになります。(フォーム提出し、ボタンのクリック)私は両方のイベントのコードを複製することができ

function initMap(x) { 
    //some other code 
    var controlUIMijnPOIS = document.getElementById('allePois'); 

    $('#searchTheme').submit(function() { 
     //CODE to be executed (with the themaID passed by the form) 
    }) 

    controlUIMijnPOIS.addEventListener('click', function() { 
     //CODE to be executed (same code as above but themaID has no value, wich is fine) 
    }) 
    //some other code 
} 

が、私は同じことをしたいですフォームが送信された場合、またはボタンがクリックされた場合に実行されるコード。

$('#searchMyTheme').submit || controlUIMyPOIS.addEventListener('click') function(){ 
    //CODE to be executed. 
} 

があっても可能ともしそうなら、どのように私は確立することができますです。だから私はこのような何かを得るでしょう

を(私は私のスクリプトで二度コードの全体の束を持っている必要はありません)この?

+0

あなたはもっと明確に説明することができます – mmativ

+0

とhtmlコードを入れてみてくださいしようとする機能を実行してください。 – mmativ

+0

2つのイベントを同じリスナーにアタッチしたいですか?それは普通のことです。あなたはどんな問題に直面していますか? – avck

答えて

2

単一の関数を定義し、イベントハンドラで呼び出します。

function your_func(){ 
... 
} 

$('#searchMyTheme').on('submit',your_func); 
controlUIMyLocation.addEventListener('click',your_func); 

プレゼントが存在しない場合は別のプレゼントとなり、問題はありません。

+0

これはそれを解決しました。ありがとうございました。 – Rob

関連する問題