Tag: 搜索

使用JavaScript从XML文件中搜索和输出数据

我有一组数据,这些数据是地点名称及其位置,保存在XML文件中,如下所示: name location 数据从电子表格中提取,然后保存为XML格式。 现在在XML文件中有数千行,在第一个实例中我们正在查看5k +。 我是否可以根据用户输入使用JavaScript搜索此XML文件,然后在HTML页面上显示此输出? 我还必须支持IE6(这是一个大问题) 我是一个关于XML的总菜鸟,但可以做一些JavaScript和JQuery! 有更简单的方法吗? 我没有使用服务器端语言的选项,也不能使用数据库(我知道很弱)。 提前致谢。

使用typeahead.js创建可点击的动态链接

我想在我的搜索自动完成链接到网站上的特定餐厅的建议结果。 注意:我遇到过这篇文章,但它使用了一个静态的对象数组。 与这篇文章不同,我希望从服务器端生成链接。 var links = [{name: “abc”, link: “http://www.example1.com”}, {name: “nbc”, link: “http://www.example2.com”}]; var source = new Bloodhound({ … local: links }); 在我的情况下,我从Rails查询数据库,因此name将是餐厅的名称, link将是restaurant_path 。 基于我目前的代码,我如何才能实现这一目标? 如果需要任何其他代码,请与我们联系。 $(function() { var restaurants = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace(‘name’), queryTokenizer: Bloodhound.tokenizers.whitespace, remote: { url: “/search/autocomplete?query=%QUERY”, wildcard: “%QUERY” } }); restaurants.initialize(); $(‘#autocomplete’).typeahead(null, { displayKey: ‘name’, source: restaurants.ttAdapter() }); […]

Typeahead填充活动记录对象的所有属性

我正在使用rails 4,我正试图让它与最新的typeahead一起工作。 下拉列表显示匹配的活动记录对象的所有属性,而不仅仅是我想要的名称。 item.rb def self.search(search) if search where([‘lower(name) LIKE ?’, “%#{search}%”]) else Item.all end end items_controller.rb def index @items= Item.search(params[:query]) end def typeahead render json: Item.where(‘name ilike ?’, “%#{params[:query]}%”) end _header.html.erb . . . $(document).ready(function(){ var bloodhound = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace(‘name’), queryTokenizer: Bloodhound.tokenizers.whitespace, limit: 10, remote: {url: ‘/typeahead/%QUERY’, wildcard: ‘%QUERY’} }); bloodhound.initialize(); $(‘#typeahead’).typeahead(null, […]

如何使用jQuery搜索嵌套列表?

我已经将一个简单的搜索字段放在一起查看列表,但我有嵌套列表,它仅限于单个级别列表 – 如何修改 我把它放在一个小提琴里; http://jsfiddle.net/marksweb/4CJMe/ 我需要对if(filter)做什么才能检查嵌套项,如果结果存在则不隐藏嵌套列表的子项? 演示现场; http://dl.dropbox.com/u/3755926/cssTricks/main.html (function ($) { // custom css expression for a case-insensitive contains() jQuery.expr[‘:’].Contains = function(a,i,m){ return (a.textContent || a.innerText || “”).toUpperCase().indexOf(m[3].toUpperCase())>=0; }; function searchList(header, list) { // header is any element, list is an unordered list // create and add the filter form to the header var form […]

实时搜索localstorage(在数组中搜索)

这就是我所拥有的: 现在我想进行实时搜索。 关键是当您在文本框中键入时,您必须在localstorage中搜索与搜索框中的文本相等的内容。 所有与dissapears不匹配的数据。 $(“#searchbox”).keyup(function(){ // Retrieve the input field text var searchtext = $(this).val(); // Loop through the local storage var a = {}; a = JSON.parse(localStorage.getItem(‘session’)); alert(a); }); 你可以看到我发出警报,我的输出是这样的: {“21114”:{“id”:”21114″,”external_id”:””,”sessiongroupid”:”1844″,”eventid”:”5588″,”order”:”0″,”name”:”localStorage HTML5 Session”,”description”:”localstorage”,”starttime”:”2013-04-23 12:00:00″,”endtime”:”2013-04-23 13:30:00″,”speaker”:””,”location”:””,”mapid”:”0″,”xpos”:”0.000000″,”ypos”:”0.000000″,”maptype”:”plan”,”imageurl”:””,”presentation”:””,”organizer”:”0″,”twitter”:””,”allowAddToFavorites”:”0″,”allowAddToAgenda”:”0″,”votes”:”0″,”url”:””,”venueid”:”0″},”21115″:{“id”:”21115″,”external_id”:””,”sessiongroupid”:”1845″,”eventid”:”5588″,”order”:”0″,”name”:”tweede”,”description”:”tweede”,”starttime”:”2013-04-03 00:00:00″,”endtime”:”2013-04-04 00:00:00″,”speaker”:””,”location”:””,”mapid”:”0″,”xpos”:”0.000000″,”ypos”:”0.000000″,”maptype”:”plan”,”imageurl”:””,”presentation”:””,”organizer”:”0″,”twitter”:””,”allowAddToFavorites”:”0″,”allowAddToAgenda”:”0″,”votes”:”0″,”url”:””,”venueid”:”0″}} 现在我想搜索这个名字。 有人可以帮我怎么做吗?

jQuery自动完成(devbridge)lookupFilter来搜索多个属性

我有以下代码 – $(function() { var fruits = [ { value: ‘Apple’,id: ‘123’, data: ‘Apple’ }, { value: ‘Pear’, id: ‘543’, data: ‘Pear’ }, { value: ‘Carrot’, id: ‘123’, data: ‘Carrot’ }, { value: ‘Cherry’, id: ‘234’, data: ‘Cherry’ }, { value: ‘Banana’, id: ‘543’, data: ‘Banana’ }, { value: ‘Radish’, id: ‘3423’, data: ‘Radish’ } […]

如何以jQuery方式搜索和操作复杂的JavaScript对象

在Web应用程序的上下文中,我有一个服务器,它根据客户端的输入发送或接收JSON字符串。 在客户端使用时,这些JSON字符串会立即转换为JavaScript对象,在这些对象中,它们将作为对象活出来。 这些对象不是数组; 它们代表复杂的,任意的数据模型,其每个属性可以具有任意数量的唯一子属性或对象。 var myView = { name: ‘root’ id: ‘root_0’ children: { child_1: { arbitraryid: ‘root_0_child_1’, type: ‘Department’, name: ‘Produce’, quadrant: 1, children: { child_1: { arbitraryid: ‘root_0_child_1_child_1’, type: ‘Aisle’, number: 3, length: 12, children: { } } } }, child_2: { arbitraryid: ‘root_0_child_2’, name: ‘West’, type: ‘Region’, children: { child_1: { arbitraryid: […]

用jQuery实现Javascript高效的搜索数组

我的JavaScript知识存在差距。 我想搜索特定值的对象值数组并返回它。 对于我一直在编写JavaScript的那一年,我一直在实现它: var itemClicked = (function(){ var retval; //Note self.inventory.itemsArray is an array of JS objects $(self.inventory.itemsArray).each(function(i){ if(parseInt(this.id) === parseInt(idOfItem)){ retval = this; return false; } }); return retval; })(); 它有效,但我确信任何事情都有更优雅的方式。 请告诉我! 编辑 – 解决方案 感谢@gdoron,他的回答如下。 var myVar = $(self.owner.itemsArray).filter(function(){ return parseInt(this.id) == parseInt(recItemID); }).get(0); 注意:最后添加了.get(0) ,因为myVar被包装为jQuery对象。

手动触发jQuery自动完成

我正在使用jQuery UI Autocomplete和一些AJAX(直到他们停止输入后才会提取数据)。 我想这样做,一旦找到数据,自动完成将弹出作为搜索结果。 这是有效的,但是只有当我再次开始输入时(在我输入之前,下拉列表不会触发,因为直到我停止输入后它才会被初始化)。 我的代码: var availableTags = [ “Perl”, “PHP”, “Python”, “Ruby” ]; $(‘input#mainSearchBox’).autocomplete({ source: availableTags, minLength: 0 }); $(‘input#mainSearchBox’).data(‘autocomplete’).menu.active; 最后一部分是尝试激活自动完成,但失败了。

如何在javascript中为phonegap实现搜索function?

我想在java脚本中实现搜索function。我是java脚本的新手。如果我在下面的代码中犯了任何错误,请原谅我。 我该如何实施呢? 我试着像这样实施 JavaScript的 $(“#input”).keyup(function() { var userInput = $(this).val(); $(“#list div”).map(function(index, value) { $(value).toggle($(value).text().toLowerCase().indexOf(userInput) >= 0); }); }); 但是,CORDOVA就不会认识到……所以当我实现它时这样做 document.getElementById(“input”).keyup(function() { var userInput = val(); document.getElementById(“main div”).map(function(index, value) { document.getElementById(value).toggle(document.getElementById(value).text().toLowerCase().indexOf(userInput) >= 0); 现在,我得到一个错误 05-30 11:59:18.500: INFO/Web Console(930): JSCallback Error: TypeError: Result of expression ‘document.getElementById(“input”).keyup’ [undefined] is not a function. at file:///android_asset/www/cordova-2.1.0.js:3727 HTML Rich Rajim […]