所以我到目前为止的插件是假装像<select>
一样工作,但几乎没有变化。
其中有搜索字段,我想要做的是突出显示找到的值(或使用decoration: underline
创建文本)。
问题是,我不知道如何正确使用值,并且完全不知道如何插入标记(例如<div>
或<i>
)在找到的值之前和之后。
JSFiddle在这里:http://jsfiddle.net/kspD8/
您可以在第269行找到执行搜索操作的代码:
$this.find('.ms-column:contains("' + value + '")').parents('.multiple-selector-table-row').show();
如果找不到,请查找以下部分:
/*
===========================================================
Keyup in search field
===========================================================
*/
请注意,由于插件逻辑,您将无法选择除您之前选择的任何其他字段(不是错误,只是警告)。
如果您有任何疑问,请随时提出。
答案 0 :(得分:1)
答案 1 :(得分:1)
正如朋友所说,你必须使用高亮插件:
http://bartaz.github.io/sandbox.js/jquery.highlight.html
更新您的代码:
而不是使用:
$this.find('.ms-search').keyup(function(event){
使用:
$this.find('.ms-search').on('input',function(event){
然后,在'if'
内使用:
$this.find('.ms-column:contains("' + value + '")').highlight(value);
它会将您在.ms-search
中输入的文字换成<span class="highlight">value</span>
演示: