jquery - 如何将 span 标签包装在数据表搜索输入周围以将 'clear search' 功能与 jquery 集成?

标签 jquery css datatables

我想在数据表搜索字段中添加一项功能,在该字段中单击输入字段中的图标会清除搜索到的文本。

这里有一个清晰的搜索 jsfiddle:

http://jsfiddle.net/PJZmv/801/

我正在尝试将其与此处的数据表集成:

http://jsfiddle.net/rwone/Y37hZ/

这些是我采取的步骤:

通过更改自定义 jquery.dataTables.js 脚本:

sSearchStr.replace('_INPUT_', '<input type="text" />') :
sSearchStr==="" ? '<input type="text" />' : sSearchStr+' <input type="text" />';

到:

sSearchStr.replace('_INPUT_', '<span class="clearable"><input type="text" name="data_field" value="" /><span class="icon_clear">x</span></span>') :
sSearchStr==="" ? '<span class="clearable"><input type="text" name="data_field" value="" /><span class="icon_clear">x</span></span>' : sSearchStr+' <span class="clearable"><input type="text" name="data_field" value="" /><span class="icon_clear">x</span></span>';

并添加了这个CSS:

/* added clear search css */

.clearable {
position:relative;
}
.data_field {
padding-right:30px; /* add space for the 'x' icon*/
}
span.icon_clear {
position:absolute;
right: 9px;
display: none;
top: -2px;
cursor:pointer;
font: bold 14px sans-serif;
color:#cc0000 !important;  
}

span.icon_clear:hover {
color:#f52 !important;
}

/* end added clear search css */

然后添加jquery:

$(document).on('propertychange keyup input paste', 'input.data_field', function(){
var io = $(this).val().length ? 1 : 0 ;
$(this).next('.icon_clear').stop().fadeTo(300,io);
}).on('click', '.icon_clear', function() {
$(this).delay(300).fadeTo(300,0).prev('input').val('');
});

但是正如您在 jsfiddle 中看到的那样,它还没有工作。

因此,期望的结果是“清晰搜索”功能在数据表集成中发挥作用,就像在独立的 jsfiddle 中一样。

最佳答案

替换你的代码

$(document).on('propertychange keyup input paste', 'input.data_field', function(){...

$(document).on('propertychange keyup input paste', 'input[name="data_field"]', function(){...

希望对您有所帮助。

关于jquery - 如何将 span 标签包装在数据表搜索输入周围以将 'clear search' 功能与 jquery 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910652/

相关文章:

javascript - 监控 JavaScript 输出,例如 console.log()

javascript - 如何打开 javascript 弹出窗口并使用 document.write 将变量添加到 href?

html - CSS 悬停抖动问题

javascript - 查询/CSS : Change the css of a cloned tr

html - Internet Explorer 中的 100% 高度问题

javascript - 使用 DataTable 导出服务器端 excel

JavaScript (jQuery) 只是不断将数据附加到 <div>

javascript - 在标记检测 A 帧 AR.JS 上播放音频

javascript - jQuery DataTables 插件 - 如何访问底层数据

javascript - 如何使用 jquery 在相邻的 <td></td> 元素中添加/减去值