Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX或类似技术缩小现有列表的范围_Javascript_Html_Css_Ajax - Fatal编程技术网

Javascript 使用AJAX或类似技术缩小现有列表的范围

Javascript 使用AJAX或类似技术缩小现有列表的范围,javascript,html,css,ajax,Javascript,Html,Css,Ajax,希望我能解释清楚这一点,通过搜索我在标题中使用的术语,我能找到的最多的术语给出了很多自动完成的例子,但没有什么完全符合我的要求。我有一个按钮列表(它们现在被编码为输入),我想添加一个搜索字段,当用户在搜索字段中键入时,该字段将缩小按钮的范围 比如说,我有30个流行网站的按钮。如果有人想退出谷歌,他们会开始输入,首先输入所有带有字母“G”的内容,然后输入“O”,等等。其他所有内容都会从页面中“消失” 我可以想出一种手动执行的方法,但我认为我的代码不会太枯燥。可能设置一个“开”和“关”ID,并使用C

希望我能解释清楚这一点,通过搜索我在标题中使用的术语,我能找到的最多的术语给出了很多自动完成的例子,但没有什么完全符合我的要求。我有一个按钮列表(它们现在被编码为输入),我想添加一个搜索字段,当用户在搜索字段中键入时,该字段将缩小按钮的范围

比如说,我有30个流行网站的按钮。如果有人想退出谷歌,他们会开始输入,首先输入所有带有字母“G”的内容,然后输入“O”,等等。其他所有内容都会从页面中“消失”

我可以想出一种手动执行的方法,但我认为我的代码不会太枯燥。可能设置一个“开”和“关”ID,并使用CSS显示:无或类似的内容


我认为最好的方法是通过AJAX,但可能有一些javascript巫术更适用。

简单。首先,如果所有数据都已在用户端,则无需过滤服务器端的答案。此外,您不应该编写html并使用js进行过滤,您应该使用js编写html并生成html输出。让我们从结构开始:

var links=[
  {
       name:"google",
       url:"http://google.com"
   },
   {nextone}
   ];
现在以html格式生成链接:

window.onload=function(){
    var container=document.body;//change this to your needs
  for(i=0;i<links.length;i++){
     var link=links[i];
     link.html=document.createElement("a");
     link.html.innerHTML=link.name;
     link.html.src=link.url;
     container.appendChild(link.html);
 }
 };
您可以将其绑定到输入:

yourinput.addEventListener("onchange",function(){filter(this.value)},false);

很容易。首先,如果所有数据都已在用户端,则无需过滤服务器端的答案。此外,您不应该编写html并使用js进行过滤,您应该使用js编写html并生成html输出。让我们从结构开始:

var links=[
  {
       name:"google",
       url:"http://google.com"
   },
   {nextone}
   ];
现在以html格式生成链接:

window.onload=function(){
    var container=document.body;//change this to your needs
  for(i=0;i<links.length;i++){
     var link=links[i];
     link.html=document.createElement("a");
     link.html.innerHTML=link.name;
     link.html.src=link.url;
     container.appendChild(link.html);
 }
 };
您可以将其绑定到输入:

yourinput.addEventListener("onchange",function(){filter(this.value)},false);

看看Angular JS主页上的第三个例子——它是一个过滤列表的开始,因此你可以添加一个带有onkeyup/oninput监听器的文本框,读取文本框值,选择按钮,在集合上循环,并隐藏那些没有部分匹配文本的文本…所以。。。你想让我们给你写点什么?杀死一些小鸡?看看Angular JS主页上的第三个例子——它是一个过滤列表的开始,所以你可以添加一个带有onkeyup/oninput侦听器的文本框,读取文本框值,选择按钮,在集合上循环,并隐藏没有部分匹配文本的文本…所以。。。你想让我们给你写点什么?杀鸡?