我有一个输入文本字段,当用户从数组中的预选单词列表中键入内容时,它会自动提出建议。可以在以下情况下正常工作:
NewsList.js
但是我需要为每个城市分配一个数值,以使搜索正常进行...我是js的新手...我可以以某种方式编辑数组吗?
<div class="autocomplete" style="width:300px;">
<input class="form-control" type="text" id="CITY" name="cityId" required>
</div>
var cities = ["Tampa","Atlanta","Denver","Detroit", etc.... ]
我只是想弄清楚如何为每个城市分配一个数值,所以当我提交表单时,method =“ get”将数字放在地址栏中,而不是城市名称
答案 0 :(得分:1)
[
{id: 1, city: "Tampa"},
{id: 2, city: "Atlanta"},
{id: 3, city: "Denver"},
{id: 4, city: "Detroit"},
{id: 5, city: "etc..."}
]
然后找到返回城市名称的javascript对象,并在其中添加“ .city”,以便向用户读取城市字符串。
类似
// return objectName;
return objectName.city;
并使用ID
做任何您想做的事情objectName.id;
我建议您阅读一些有关对象/数组的知识,以及一些基本的Javascript101。将来使用哪种语言都没有关系,以任何语言理解这些东西都很重要。在整个堆栈中,所有语言的语法和逻辑都极为相似。
https://jsfiddle.net/是学习时进行实验的好地方,甚至可以与他人共享一些代码以了解更多信息。
编辑 现在,我看到您在帖子中添加了一些JS代码,您将必须修改它访问数组的每个部分。例如:
// arr[i].substr(0, val.length).toUpperCase() == .....
arr[i].city.substr(0, val.length).toUpperCase() == .....
您唯一的其他选择是将数组索引用作您的标识符,以限制对当前Javascript的编辑,但是如果数组发生更改,则会带来其他问题。如果最终您想稍后通过其号码(或ID)访问该城市,那么如果该数组更改长度或顺序,您将会遇到麻烦。选择你的毒药。