0

私はJSに非常に慣れていないので、できるだけ詳しく説明してください。HTML ページにブートストラップ タブを実装しています。jquery ui を使用したスライダーがあります。タブを実装する前は、スライダーは完全に機能していました。しかし、スライダーは見えなくなりました。適当なところをクリックすれば移動できます。私が今見ることができるのは、全体ではなくスライダーの値だけです。

タブをクリックした後にスライダー スクリプトをリロードしようとしましたが、役に立ちません。もう1つの奇妙なことは、タブを完全に削除してスライダーだけを使用しようとしても、結果は同じです。スライダーの値だけが表示され、div 全体が表示されません。

必要に応じて、さらに説明を求めてください。どんな助けでも大歓迎です。前もって感謝します。

js:

$(document).ready(function(){

              alert("Inside slider");
              $( "#slider" ).slider({
                  value:<%-tasks["priority"]%>, 
                  min: 0,
                  max: 10,
                  step: 1,
                  slide: function( event, ui ) {
                    // alert(ui.value);
                              $( "#priority" ).val( ui.value ); 
                  },
                  start: function( event, ui ) {alert("started")}
              });
              $( "#priority" ).val( $( "#slider" ).slider( "value" ) );
               $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
                alert("here")
  $( "#slider" ).slider();
  });
          $('#tab_control a[href="#basic"]').tab('show');
     })

html:

<ul class="nav nav-tabs" role="tablist" id="tab_control">
            <li class="active"><a href="#basic" id="basic_tab" data-target=".basic-tab" role="tab" data-toggle="tab">Basic</a></li>
            <li><a href="#basic" data-target="#basic, #advanced" role="tab" data-toggle="tab">Advanced</a></li>
          </ul>

          <div class="tab-pane active basic-tab" id="basic">
        <label for="inputPassword3" class="col-sm-2 control-label">Priority</label>
        <div class="col-sm-10">
            <div id="slider" ></div>
            <p><input type="text"  id="priority" name="priority" readonly style="border:0; color:#f6931f; font-weight:bold;"></p>
        </div>
        </div>

         <div class="tab-pane advanced-tab" id="advanced">
          </div>

アップデート:

スライダーは完全に機能するようになりました。私がしたことは、これらのファイルをロードすることだけでした:

<link rel="stylesheet" href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
  <script src="https://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

以前は、次のようにローカル ディスクからロードしていました。

<link href="/css/jquery-ui.min.css" rel="stylesheet">
<script src="/js/jquery.js"></script>
<script src="/js/jquery-ui.min.js"></script>

それらはこれらのバージョンのものです:

jquery-ui.min.css : jQuery UI - v1.11.2
jquery.js : jQuery v1.11.1
jquery-ui.min.js : jQuery UI - v1.11.2

それで、何が問題だったのかについてのアイデアはありますか?? それは本当に私を困惑させます。

4

1 に答える 1

0

HTH

基本
  • 高度
  • <div class="tab-pane active fade in basic-tab" id="basic">
        <label for="inputPassword3" class="col-sm-2 control-label">Priority</label>
        <div class="col-sm-10">
            <div id="slider" ></div>
            <p><input type="text"  id="priority" name="priority" readonly =""/> </p>
        </div>
    </div>
    <div class="tab-pane fade advanced-tab" id="advanced">
    testing
          </div>
    
    
    $( "#slider" ).slider({
                  value:"", 
                  min: 0,
                  max: 10,
                  step: 1,
                  slide: function( event, ui ) {
                    $( "#priority" ).val( ui.value ); 
                  },
                  start: function( event, ui ) {alert("started")}
              });
            $( "#priority" ).val( $( "#slider" ).slider( "value" ) );
    

    http://jsfiddle.net/jz5r5dsw/1/

    于 2014-11-25T12:10:21.097 に答える