重复JS&文件夹中每个文件的JQuery代码
Repeat a part of JS & JQuery code for every file in a folder
我正在创建一个个人使用的仪表板,该仪表板将仅在本地(没有任何本地服务器)使用HTML+Javascript。
在一个文件夹中,我有几个.txt
文件,我想阅读所有这些文件,并用这些文本中的行创建单独的选择元素。
我通过阅读其中一个文件(它在Safari和Mozilla上有效,但在Chrome上无效)完成了这项工作。
<script>
var rawFile = new XMLHttpRequest();
rawFile.open("GET", 'Messages/english.txt', false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
allText = allText.split("'n");
var select = "<h4 style='color:white'>Messages</h4>";
select += "<select class='textinputselection' style='width: 400px;'>";
allText.forEach(function(item) {
select += "<option>" + item + "</option>";
});
select += "</select>";
select += "<br><br>";
$('#messages').prepend(select);
}
}
}
rawFile.send(null);
</script>
我现在想做的是,对文件夹"Messages"中的所有txt文件执行完全相同的操作,而不需要为每个文件复制粘贴代码。
您可以创建一个javascript函数,该函数在代码中只包含一次:
<script>
function doMyThing(file){
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
allText = allText.split("'n");
var select = "<h4 style='color:white'>Messages</h4>";
select += "<select class='textinputselection' style='width: 400px;'>";
allText.forEach(function(item) {
select += "<option>" + item + "</option>";
});
select += "</select>";
select += "<br><br>";
$('#messages').prepend(select);
}
}
}
rawFile.send(null);
}
</script>
然后,每次你想运行这个,你只需要添加:
<script>
doMyThing('Messages/english.txt');
</script>
例如:
<script>
doMyThing('Messages/french.txt');
</script>
XMLHttpRequest()
需要一个完整的路径,所以你必须使用另一个库来完成这项工作,比如jquery.file.tree,这可以帮助你。
但我建议您在服务器端获取文件的名称,并将名称发送到它们上的jquery和foreach(如果您在服务器侧处理此问题)。
如果是在客户端,请尝试file.tree获取所有名称。并将所有函数调用放在foreach函数中。
相关文章:
- 删除表,但不删除表单和文件 jQuery
- Ruby on Rails:“找不到文件'jquery.ui.datepicker'”
- 从 html 页面调用文件 jQuery 文件
- Javascript 文件修改了未从中调用它的 html 文件?Jquery 选择器
- 未呈现Javascript文件/Jquery
- 上传文件jQuery ajax MVC
- 我在哪里可以得到这个文件jquery.min.js
- 使用委托点击按钮下载文件JQuery
- 找不到文件“jquery-ui”
- JavaScript文件(jQuery步骤)未在Google Chrome中加载
- 自动内联CSS从CSS文件(jquery?ajax吗?php ?)
- 如何使用本地json文件jquery或angularjs实现文本框的自动完成
- 在JSPX文件中包含JS文件(JQuery)
- 如何将变量值从后面的代码传递到外部JavaScript文件(jQuery文件)
- 如何获得扩展图像文件jquery.filer
- 检测设备和交换CSS文件- jQuery
- 警报文本从文件JQuery / javascript
- 如何排序日期和字符串在同一列在jquery插件有文件jquery. datatable .js
- 移动谷歌地图api代码到单独的文件+ jquery
- 获取按钮id从js文件和使用在另一个js文件- jquery