1

次の呼び出し関数は、選択メニューのオプションを変更した後、オプション値を警告しません:

アラートを出さない:

<script type="text/javascript">
jQuery(document).ready(function($){       
    $(".selectmenu").scrollectBox({                           
        preset: 'dropdown',
        numVisibleOptions: 4,
        scrollInterval: 150, 
        scrollOn: 'hover',
        listWidth: 160,
        onSelectEvent: null

}).change(function() {
   var optionvalue = $("select.selectmenu").val(); 
   alert('Selected value ' + optionvalue);     
 });
});

</script>

しかし、次の変更機能は独立してアラートを出します

警告を発します:

<script type="text/javascript">
   jQuery(document).ready(function($){    
      $(".selectmenu").change(function() {
       var optionvalue = $("select.selectmenu").val(); 
     alert('Selected value ' + optionvalue);        
     });
    });
</script>

    <select onchange="" name="selectmenu" id="translator" class="selectmenu" >
     <option value="Select Language">Select The Language</option>
     <option value="en|af">Afrikaans</option>
     <option value="en|sq">Albanian</option>
     </select>

コードの最初のブロックからアラートを取得するにはどうすればよいですか? onSelectEvent:コードの最初のブロックは、オプション変更のカスタム トリガー イベントであることに注意してください。

ありがとう、

4

5 に答える 5

3

イベントをドロップダウンにalert割り当てていないため、最初のコードはそうではありません。changedocument

編集:コメント応答

プラグインは以下の2つoptionを使用しています。

onSelectEvent

オプションの選択を処理するためのカスタム イベント ハンドラー。関数は 2 つのパラメーターを取ることができます。クリックされたオブジェクト (オプション内のリンク) とクリック イベントvar customSelectHandler = function($obj, event){...};。デフォルトはヌルです。

onSelectFunc

デフォルト ハンドラー内から (最初に) 呼び出される関数。関数は 2 つのパラメーターを取ることができます。クリックされたオブジェクト (オプション内のリンク) とクリック イベントvar extraFunc = function($obj, event){...};。デフォルトはヌルです。

于 2013-03-25T12:06:40.200 に答える
2

これを試してください:

jQuery(document).ready(function($){ 
   $(".selectmenu").scrollectBox({                           
      preset: 'dropdown',
      numVisibleOptions: 4,
      scrollInterval: 150, 
      scrollOn: 'hover',
      listWidth: 160,
      onSelectEvent: null
  }).change(function() { //<-------------------------------try it here.
     var optionvalue = $("option:selected", this).val();
     alert('Selected value ' + optionvalue); 
  });
});
于 2013-03-25T12:07:15.157 に答える
2

ドキュメントではなく、セレクトボックスにイベントを添付したい。

jQuery(document).ready(function($){       
    $(".selectmenu").scrollectBox({                           
        // ...
    }).change(function() {
        var optionvalue = $("select.selectmenu").val(); 
        alert('Selected value ' + optionvalue); 
    });;    
})

jQuery の「流れるような」構文は、常に作業中のオブジェクトを返すため、同じセレクターでメソッドを連鎖させることができます。

Jai が示唆するように、選択したオプションの値も取得していません。

var optionvalue = $("option:selected", this).val();
于 2013-03-25T12:07:59.027 に答える
1

最初のコードは次のようになります。

<script type="text/javascript">
    jQuery(document).ready(function($){       
        $(".selectmenu").scrollectBox({                           
            preset: 'dropdown',
            numVisibleOptions: 4,
            scrollInterval: 150, 
            scrollOn: 'hover',
            listWidth: 160,
            onSelectEvent: null
       });    

        $(".selectmenu").change(function() {
           var optionvalue = $("select.selectmenu").val(); 
         alert('Selected value ' + optionvalue);        
         });

     });
    </script>

--------------------------編集済み------------------------ --------

脚本:

<script>
    $(document).ready(function () {
           var selectEvent = function($el){
            alert("You chose " + $el.html());
                return false;
            };
         $(".selectmenu").scrollectBox({                           
           preset: 'select',
            numVisibleOptions: 3,
            scrollOn: 'scroll',
            debug: true,
            onSelectEvent: selectEvent

         }); 
    });
</script>

HTML:

 <select name="selectmenu" class="selectmenu" >
        <option>Select The Language</option>
        <option value="en|af">Afrikaans</option>
        <option value="en|sq">Albanian</option>
 </select>

PS: ローカルホストでテスト済み:)

選択メニューの変更ではなく、ドキュメントの変更に関するアラートがあるため、機能していません;)

サルドス。

于 2013-03-25T12:12:09.823 に答える
0

そこに余分な})閉じ括弧があります

  $(".selectmenu").scrollectBox({                           
    preset: 'dropdown',
    numVisibleOptions: 4,
    scrollInterval: 150, 
    scrollOn: 'hover',
    listWidth: 160,
    onSelectEvent: null
});   
}).change(function() {
//^here..
   var optionvalue = $("select.selectmenu").val(); 
 alert('Selected value ' + optionvalue); 

 });

そのはず

 $(".selectmenu").scrollectBox({                           
    preset: 'dropdown',
    numVisibleOptions: 4,
    scrollInterval: 150, 
    scrollOn: 'hover',
    listWidth: 160,
    onSelectEvent: null

 }).change(function() {....
于 2013-03-25T12:07:52.823 に答える