我正在尝试仅在本地计算机上构建一个自助服务终端。我打算使用JavaScript来使菜单列表正常运行。这是我的html代码示例。
<ul class="sf-menu">
<li class="current">
<a href="#a">Area1</a>
<ul>
<li>
<a href="#aa">John's Store </a>
</li>
<li class="current">
<a href="#ab">Katy's store</a>
<ul>
<li class="current"><a href="#">Orange</a></li>
<li><a href="#aba">Watermelon</a></li>
<li><a href="#abb">Apple</a></li>
</ul>
</li>
<li>
<a href="#">Catherine's Store</a>
<ul>
<li><a href="#">Banana</a></li>
<li><a href="#">Pear</a></li>
<li><a href="#">Cherry</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Area2</a>
<ul>
<li>
<a href="#">Peter</a>
<ul>
<li><a href="#">Apple</a></li>
<li><a href="#">Rockmelon</a></li>
</ul>
</li>
<li>
<a href="#">Lynda</a>
<ul>
<li><a href="#">Strawberry</a></li>
<li><a href="#">Jackfruit</a></li>
<li><a href="#">Orange</a></li>
</ul>
</li>
</ul>
</li> <!--current-->
</ul> <!--sf-menu-->
要更新/更改菜单(将会是大量的)的人将使用简单的文本文件,例如记事本 - .txt(出于某些原因)。有没有办法用简单的文本文件更新菜单项?我可以使用JavaScript或jQuery插件/代码吗?
任何方向都会受到赞赏。
答案 0 :(得分:4)
您可以使用.get:
执行此操作 var textFile = "SCHEME://DOMAIN/FILENAME.txt";
jQuery.get(textFile, function(textFileData) {
//Parse file and populate menu based on specs.
//textFileData will have the text
}
如果你想要为每一行返回文本(假设名称用换行符分隔):
var EachLineInTextFile= textFileData.responseText.split("\n");
for (var i = 0, len = EachLineInTextFile.length; i < len; i++)
{
//This will give you each name from here you can put the name where you want it
}
样本将是:
<script type="text/javascript">
$(document).ready(function () {
var textFile = "http://localhost/MyDomain/Menu.txt";
jQuery.get(textFile, function (textFileData) {
var EachLineInTextFile = textFileData.responseText.split("\n");
for (var i = 0, len = EachLineInTextFile.length; i < len; i++) {
STORE_TO_REPLACE = EachLineInTextFile[i];
//STORE_TO_REPLACE: I would have to the entire format of your file to do this.
}
})
});
</script>
从这里开始,如果您需要帮助替换列表中的值,请查看this article
或者,如果您想要替换它们,可以使用.each遍历列表。