1

jquery uiスライダーを使用していますが、スライダーをスライドするとフォームが送信されます。コードは次のとおりです。

<script type="text/javascript">
    $(function() {
        $( "#slider" ).slider({ 

                      min: 2000,
                      max: 2008,
                      value:<%=@epoch.start_year %>,
                      slide: function( event, ui ) {
                           $("#slider_value").html(ui.value);
                           $("form#new_epoch").submit(); 
                           }                          
        });

    });
</script>

スライダーを別の値に移動すると、フォームは送信されますが、ページをリロードすると、スライダーのフォーカスが失われます。私が探しているのは、スライダーを動かすたびにページが更新され、スライダーにフォーカスが合ったままスライダーを動かすことです。スライダーを動かすために矢印キーを使用しています。

4

1 に答える 1

2

ajaxを使用せずにページにHTMLの一部をロードし、ページ全体をリロードし続けたい場合は、ページがロードされるときにスライダーハンドルにフォーカスを設定できます$(".ui-slider-handle").focus();

<script type="text/javascript">
$(function() {
    $( "#slider" ).slider({ 

                  min: 2000,
                  max: 2008,
                  value:<%=@epoch.start_year %>,
                  slide: function( event, ui ) {
                       $("#slider_value").html(ui.value);
                       $("form#new_epoch").submit(); 
                       }                          
    });
    $(".ui-slider-handle").focus();
});
</script>
于 2012-12-03T22:16:18.113 に答える