2011-07-16 38 views
1

我有一個jQuery搜索腳本,它使用標籤爲用戶定義他們想要的搜索類型。通過使用$('#type_search').click();選擇一個選項卡作爲默認值,但刷新結果頁面時會導致問題。如果選擇了不同的搜索類型,然後刷新頁面,則默認選項卡會自動選中,因此即使頁面URL說明它是正確的,它也不會返回正確的結果。基於URL定義默認jQuery選項卡

我的問題是,如果查詢處於活動狀態並且沒有活動查詢使用默認選項卡,如何定義URL中節的默認選項卡?我希望你能理解我在說什麼。

我jQuery代碼是:

$(document).ready(function() { 
    $('[id^=type_]').click(function() { 
     type = this.id.replace('type_', ''); 
     $('[id^=type_]').removeClass('selected'); 
     $('#type_' + type).addClass('selected'); 
     return false; 
    }); 
    $('#type_search').click(); 
    $('#query').keyup(function() { 
     var query = $(this).val(); 
     var url = '/' + type + '/' + query + '/'; 
     window.location.hash = '' + type + '/' + query + '/'; 
     document.title = $(this).val() + ' - My Search'; 
     $('#results').show(); 
     if (query == '') { 
      window.location.hash = ''; 
      document.title = 'My Search'; 
      $('#results').hide(); 
     } 
     $.ajax({ 
      type: 'GET', 
      url: url, 
      dataType: 'html', 
      success: function (results) { 
       $('#results').html(results); 
      } 
     }); 
    }); 
    if (window.location.hash.indexOf('#' + type + '/') == 0) { 
     query = window.location.hash.replace('#' + type + '/', '').replace('/', ''); 
     $('#query').val(decodeURIComponent(query)).keyup(); 
    } 
    var textlength = $('#query').val().length; 
    if (textlength <= 0) { 
     $('#query').focus(); 
    } else { 
     $('#query').blur(); 
    } 
}); 
+0

如果您認爲接受的答案不正確,只是不接受它。無需針對您自己的問題向主持人舉報。 –

回答

0

啊,我有這樣的問題太多。這很簡單。在頁面準備就緒後,您只需從URL中獲取錨點並模擬點擊。

$(document).ready(function() { 
    url = document.location.href.split('#'); 
    $('#'+url[1]).click(); 
}); 
+0

無論你放置jQuery的其餘部分。我會把它放在最後,但不要認爲太重要。我只是測試它,對我來說工作得很好。 – casraf

相關問題