2013-03-27 66 views
0

我有一系列關於jQuery的選擇二插件的問題(我是很新的選擇二,短短一天舊):的jQuery插件選擇二「更多...」,隱藏搜索文本字段問題

  1. 我通過AJAX調用(使用Select2的ajax功能)獲取數據,並試圖找到在下拉顯示的末尾 處添加「查看更多...」選項的方法。點擊「查看更多...」必須帶我 到另一個單獨的搜索頁面。

    如果我可以進入加載AJAX 調用的OnSuccess或OnComplete事件,那麼我可以在下拉結果中找到相關的DIV,並追加 「查看更多...」div。這甚至有可能嗎?

    我不想在Select2中使用「自動滾動」功能。

  2. 我已經旁邊的下拉選擇二搜索按鈕,當用戶在搜索框中輸入一些字符鍵入 ,我讓AJAX調用和 顯示的數據。在這裏,我還需要的是,當用戶點擊 搜索按鈕時,我應該在搜索框中輸入值,並且 進行另一次重定向。我面臨的問題是這樣的 - 因爲 Select2要求搜索框被「隱藏」以用於AJAX加載,當 用戶搜索時,搜索文本未填充隱藏字段,而 我不知道哪裏/如何在搜索文本中輸入。

  3. 當填入AJAX數據時,下拉菜單中的第一項是 被選中,如何不讓它被選中。或者更好的是,如果他們使用 鍵在列表中上下移動,我會很酷,如果你到達 的第一項並且鍵入,它將重點放在搜索文本框 - 很多 ,比如LinkedIn搜索框。

+0

您能否提供HTML/JS代碼? – 2013-03-27 12:04:36

回答

0

(1)這裏是更多的問題代碼:

$("#select").on('open', function() { 
    $(".select2-results").append('<li class="select2-results-dept-0 select2-result select2-result-unselectable select2-result-with-children"><div class="select2-result-label view-more">View More</div></li>'); 
    $(".view-more").on("click", function() { window.location.href = "another_url"; }); 
}); 

(2)您可以訪問搜索框的值是這樣的:

var searchValue = ''; 
$('.select2-search input').on('keydown', function(e) { 
    searchValue = $(this).val(); 
    console.log(searchValue); 
}); 

$("#myBtn").on("click", function() { 
    alert(searchValue); 
}); 

(3 )要取消選擇默認選擇的選項,請將此代碼放入open函數中:

$('.select2-results .select2-highlighted').removeClass('select2-highlighted'); 

您可以查看它是如何工作的:http://jsfiddle.net/netme/EW8t7/1/

+0

謝謝@netme。答案1,即使在用戶開始輸入之前,將其添加到打開的事件中也會顯示「查看更多」。我想這很好,現在我已經隱藏了李。當顯示項目時,我檢查計數,如果它超過一個數字,我會顯示這個李。 – libragopi 2013-03-27 12:51:12

+0

答案2啊!我想過使用keyup/down技巧,但假設這個插件會給我們一種方法來獲取用戶輸入的內容。 :)訣竅的工作,但我不得不改變它使用「keyup」而不是「keydown」,因爲「keydown」忽略了最後輸入的字符。 – libragopi 2013-03-27 12:52:11

+0

感謝您的第三個答案。讓我明天嘗試一下,並讓你知道。 jsfiddle的額外點數。真棒! – libragopi 2013-03-27 12:54:21