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>

我必须完成的是,当我单击单击我时,它将激活选项卡三。当我注释掉警报('Hello World')时,单击功能中有两条注释行,它给了我警报,但是当我评论警报行并使用任何一个时选项它没有激活第三个选项卡。请告诉我为什么它没有激活第三个选项卡?并提供一些代码片段,使其开始正常工作!

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 回答