Вкладки пользовательского интерфейса jQuery — IE 9.0 не открывает ссылки внутри вкладки

#jquery #internet-explorer #user-interface #tabs

#jquery #internet-explorer #пользовательский интерфейс #вкладки

Вопрос:

в ИНДЕКСЕ.PHP мои вкладки объявляются как:

 $(function() {
            $( "#tabs" ).tabs({
                load: function(event, ui) {
                    console.log("load event ran");
                    $('a', ui.panel).live("click", function() {
                           $(ui.panel).load(this.href);
                           return false;
                           });
                   }

           });

        });
  

у меня есть вкладки, связанные с внешним файлом php для загрузки содержимого:

 <div id="tabs">
            <ul>
              <li><a href="content.php?div=Production">Production</a></li>
              <li><a href="content.php?div=Digital">Digital</a></li>
            </ul>
        </div>
  

они работают!
но внутри производственного контента у меня есть ссылки:

 <ul>
    <li><a href="content.php?div=Productionamp;p=add" class="tabLink">New product</a></li>
    <li><a href="content.php?div=Productionamp;p=search" class="tabLink">Search</a></li>
</ul>
  

который вызывает то же самое
content.php content.php сам вызывает другие файлы в зависимости от критериев получения:

 $div = htmlspecialchars(trim($_REQUEST["div"]));
$p = htmlspecialchars(strtolower($_GET["p"]));
$menu ='';
switch($div){
    case "Production":
        switch($p){
            case "add":
                include('Production/add.php');
                $menu = 'Production/production.php';
                break;
            case "search":
                include('Production/search.php');
                $menu = 'Production/production.php';
                break;
            default:
                include('Production/production.php');
        }
        break;
    case "Digital":
        switch($p){
/*          case "add":
                include('Production/add.php');
                break;
            case "search":
                include('Production/search.php');
                break; */
            default:
                echo "Nothing here yet";
        }
        break;
    default:
        echo "Please select department";
}
  

ПОЧЕМУ IE не укладывается в index.php , вместо этого он фактически переходит к content.php ?

Нужно ли мне иметь специальный хак для IE для объявления вкладок? отлично работает в Chrome и Fireforx (как обычно)

Ответ №1:

исправлено с помощью live и redirect

 $(function() {

        $( "#tabs" ).tabs({
            load: function(event, ui) {
                $('a', ui.panel).live("click", function() {
                       $(ui.panel).load(this.href);
                       return false;
                       });
            }
       });
       $("#tabs").bind('tabsshow',function(event, ui) {
            window.location = ui.tab;
        })
    });