2017-07-21 61 views
0

我一直在試圖對選定的下拉搜索結果的行爲進行一些細微的改變,但似乎沒有任何直接的方法可以實現它們。我有一個以三個字母的ISO國家代碼開頭的國家列表。我希望能夠像往常一樣進行搜索,但如果國家/地區代碼完全匹配,則可以突出顯示該國家/地區。問題是匹配的國家代碼並不總是列表中的第一項。更一般的請求將能夠訪問結果列表,並將選擇設置爲除第一個以外的某個項目。有沒有辦法突出顯示搜索結果中的特定項目?

通過檢查,它看起來像我的搜索結果只存在作爲一個jQuery對象,並在該列表項目包括一個數據選項列表索引與原始選項列表索引,所以我可以找到項目我知道我想在該DOM對象中突出顯示,並將該類設置爲「突出顯示」。但是我也可能需要將它滾動到視圖中,並且直接與底層DOM混合並不理想,所以能夠訪問選擇的功能將非常好。

回答

0

所以,我想通過訪問DOM。我想要突出顯示初始數組中的索引,並且下面的代碼將執行此操作,假定它位於結果列表中(使用lodash _.find):

var highlightChosenResult = function(index) { 
    var resultList = $('li.active-result'); 
    var result = _.find(resultList, function(el) { 
    return +$(el).attr('data-option-array-index') === index; 
    }); 
    if (result) { 
    this.chosenApi.result_do_highlight($(result)); 
    } 
} 
相關問題