1

こんにちは私はvisualforceページコードを書いています

<apex:page >
  <!-- Begin Default Content REMOVE THIS -->

  <head>
  <apex:includeScript value="{!URLFOR($Resource.UIJQuery1822, 'js/jquery-1.7.2.min.js')}"/>
  <apex:includeScript value="{!$Resource.JQueryMin}" />
  <apex:stylesheet value="{!URLFOR($Resource.UIJQuery1822,'css/ui-lightness/jquery-ui-1.8.22.custom.css')}" />

    <script type="text/javascript">
    $j=jQuery.noConflict();
    $j(document).ready(function() {
        $j( "#tabset" ).tabs();
        $j('#theButton').click(function() {
            var selected = $("#tabset").tabs("option", "selected");
            $("#tabset").tabs("option", "selected", selected + 1);
            // $( "#tabset" ).tabs( 'select' , 2 );
            // alert('Hello World')
        });
    });
    </script>

  <Title>Hello World</Title></head>
  <Body>
  <div id="tabset">
  <ul>
  <li><a href="#panel1">Tab One</a></li>
  <li><a href="#panel2">Tab Two</a></li>
  <li><a href="#panel3">Tab Three</a></li>
  </ul>
  <div id="panel1"> Hello World1</div>
  <div id="panel2">Hello World2
  <button type="button" id="theButton">Click Me!</button></div>
  <div id="panel3">Hello World3 </div>

  </div>
  </Body>

</apex:page>

クリックするとタブ3がアクティブになります。alert(「HelloWorld」)をコメントアウトするとアラートが表示されますが、アラート行にコメントしていずれかを使用すると、クリック機能に2つのコメント行があります。オプションで3番目のタブがアクティブにならない。3番目のタブがアクティブにならない理由を教えてください。正常に動作し始めるようにコードスニペットをいくつか与えます!!

4

2 に答える 2

3

あなたがそれを作った場合:

$(document).ready(function() {
    $("#tabset" ).tabs();
    $('#theButton').click(function() {
        var selected = $("#tabset").tabs("option", "selected");
        $("#tabset").tabs("option", "selected", selected + 1);
    });
});

できます

名前の問題がある場合は、次のことができます。

(function($) { 
    $(document).ready(function() {
    $("#tabset").tabs();
    $('#theButton').click(function() {
        $('#showem').text("howdy");

        var selected = $("#tabset").tabs("option", "selected");
        $("#tabset").tabs("option", "selected", selected + 1);
     });

});
})(jQuery);

これにより、jQueryがラップされた関数に渡されます。

$ j名を使用するには、次のようにします。

(function($j) { 
    $j(document).ready(function() {
    $j("#tabset").tabs();
    $j('#theButton').click(function() {
        $j('#showem').text("howdy");

        var selected = $j("#tabset").tabs("option", "selected");
        $j("#tabset").tabs("option", "selected", selected + 1);
     });

  });
})(jQuery);
于 2012-12-07T12:59:30.687 に答える
1

最初の変更: $ j = jQuery.noConflict(); 宛先: jQuery.noConflict();

今後は、 $の代わりにjQueryを使用するため、関数を呼び出すには次を使用します。jQuery('').hide();

noConflitを呼び出して$を使い続けるのは意味がありません。

于 2012-12-07T13:08:19.487 に答える