2017-07-21 59 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)); 
    } 
} 
相关问题