类似的文件名ajax
similar file name ajax
我创建了一个文本输入字段,用于检查服务器上的文件名。但如果你想这样做,你必须把文件名写出来。因此,我需要一个解决方案,即使输入的文本不完全相同,也能显示文件。
HTML:
<form method="GET">
<img src="search.png" height="28" alt="search" title="" />
<input name="search-item" type="text" placeholder="Suchen..." autocomplete="off" />
</form>
<div id="search_suggest">
</div>
jQuery/ajax:
$('input[name=search-item]').on('change keyup paste', function() {
if($('input[name=search-item]').val() === ""){
$('#search_suggest').hide();
}
var input_movie = 'video/' + $('input[name=search-item]').val() + '.avi';
var input_thumbnail = 'video/Thumbnail/' + $('input[name=search-item]').val() + '.png';
$.ajax({
url: input_movie,
type: 'GET',
success: function() {
$('#search_suggest').show();
$('#search_suggest').html('<a href="' + input_movie + '"><div class="searchedFile"><img src="' + input_thumbnail + '" height="35" /><span>DeadFighters</span></div></a>');
},
error: function() {
$('#search_suggest').hide();
}
});
});
顺便说一句,当然,对我的剧本的任何改进都是受欢迎的。
也许您可以使用Jquery UI自动完成。
您需要一个可用文件名的列表,所以可以先设置一个ajax调用来完成此操作。
然后,当用户在搜索字段中键入时,它将显示与您使用第一个Ajax调用构建的列表相匹配的类似结果。
当用户选择一个建议的结果时,您将获得确切的文件名,以便将文件名直接传递给您现在已经拥有的ajax调用。
似乎@Kaiido刚刚用不同的库回答了一个类似的解决方案。
我认为,与其像@Quentin建议的那样在每个change keyup paste
上调用服务器,不如首先调用以获取可下载的每个文件的列表,将它们存储在数组中,并使用最接近的字符串匹配库,如Dave Porter的didyoumean.js,它似乎在中做得很好
var list_files=['fuzzy','duzzy','file', 'names'];
document.querySelector('input').addEventListener('keyup', function(){res.innerHTML=didYouMean(this.value, list_files)});
<script src="https://raw.githubusercontent.com/dcporter/didyoumean.js/master/didYouMean-1.2.1.js"></script>
<div id="res"></div>
<input type="text">
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在php文件中获取$.post-ajax传递的值
- Replacing $ .ajax?
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- Ajax发布表单序列化,发布引号'
- 通过Ajax将JavaScript函数传递给PHP文件
- ajax请求的顺序总是不同的
- 可以't使用Polymer's的核心ajax
- Ajax Live搜索发布到Laravel视图
- Ajax聊天消息重复而不仅仅是更新
- JS-使用Ajax获取文件名
- 类似的文件名ajax
- 通过AJAX上传图片-如何将文件名传递到服务器
- 以excel格式导出时,如何在ajax中指定文件名
- 如何在ajax调用中给出动态json文件名作为url
- 使用AJAX将文件名插入数据库
- 文件上载与Ajax -没有得到完整的文件名
- 获取通过 AJAX 上传的文件的文件名
- 调用文件名的if语句的AJAX请求