7

ドロップダウンリスト項目から要素を選択するときにクリックイベントを発生させたい。各クリックイベントは、ドロップダウンの要素の値に応じて異なります。

 <select id="cmbMoreFunction" name="cmbMoreFunction" multiple="multiple">
            <option value="0">ATM Event Status</option>
            <option value="1">Statistics</option>
 </select>

「ATM Event Status」をクリックすると、その特定のクリックイベントのみが発生するはずです。

私はこれを試しました..しかし、動作しません

 $('#cmbMoreFunction select option').click(function() 
 { 
    //Depend on Value i.e. 0 or 1 respective function gets called. 
 });

基本的に、すべての値をキャッチしてイベントを発生させるために、ページに別のボタンが必要ないだけです。

4

4 に答える 4

18

選択で変更ハンドラーを使用し、その値を読み取り、次に何をすべきかを決定します。

$('#cmbMoreFunction').change(function() 
{ 
    var selectedValue = parseInt(jQuery(this).val());

    //Depend on Value i.e. 0 or 1 respective function gets called. 
    switch(selectedValue){
        case 0:
            handlerFunctionA();
            break;
        case 1:
            handlerFunctionB();
            break;
        //etc... 
        default:
            alert("catch default");
            break;
    }
});

function handlerFunctionA(){
    alert("do some stuff");    
}

function handlerFunctionB(){
    alert("Do some other stuff");
}

</p>

これは実用的なフィドルの例です

于 2012-08-28T07:12:09.097 に答える
5

このJsFiddleをチェックしてください

このコード JQueryを簡単に使用します。

$('#cmbMoreFunction').click(function(v){
  console.log(v.target.value);
  });

うまくいけば、あなたの問題は解決します。

于 2012-08-28T07:23:41.687 に答える
2

オプション要素にはクリックイベントはありません。ClickイベントはSelect要素にのみ関連付けられているため、選択ドロップダウンに適用する必要があります。選択ドロップダウンのクリックイベントで起動する関数では、個々のオプションを確認してロジックを適用できます。

于 2012-08-28T07:07:24.207 に答える