jquery autocomplete中,input hidden value的问题

问题描述

jquery autocomplete中,我是使用一个hidden value来记忆当用户在auotocomplete中输入的内容的对应ID值,比如用户输入:a,b,c,d,则通过ajax從后端 取出aid,bid,cid,did,放到hidden value中,result(function(event, item, formatted) { str=str+formatted+"," $("#hiddenvalue").attr("value",str); } 但这个有个问题,比如用户觉得要取消d的话,重新输入一个e,则auotocomplete框中变成了a,b,c,d,但hidden value中,依然是a,b,c,d,e了,又比如用户删除了a,b,c,d,输入了一个f,则hidden value依然是a,b,c,d,问题是有什么办法,可以让hidden value中的值,动态跟着auotocomple用户选择的值变化呢?

解决方案

jquery autocomplete 有好几个不同的版本。建议你使用 jqueryUI 里面的 http://jqueryui.com/demos/autocomplete/#remote-jsonp里面有很多例子特别上面的Examples点击 View Source 里面的代码更值得参考这里再给你一个例子:var autocompleteParser = function (results) {var parsed=[];if (results != null) {var addedItems = 0; $.map(results["list"], function(item, index) { parsed[addedItems]= {id : item.studentId,label : item.showName,value: item.showName};addedItems++;});}return parsed;},getStudentList : function (request, response ) {var term = request.term;var jsonData= csRpcClient.findContactData(term);response(studentQuickSearch.autocompleteParser(jsonData));},initAutocomplete: function (){var btnObj =$(".jq-autocomplete-btn");$( ".jq-autocomplete-input" ).autocomplete({delay:600,source:studentQuickSearch.getStudentList,minLength: 3,select: function( event, ui ) {if(ui.item){btnObj.attr("sId",ui.item.id);btnObj.attr("sName",ui.item.value);}}});}----ui.item 里面有要的东西不需要额外的东西
解决方案二:
我没有明确的看明白你问的问题, 你的的值 是你输入的还是选择的选项。autocomplete 的source: 根据你的输入 返回可选项 function( request, response ) { var yourInput = request.term; var str = $("#hiddenvalue").val("value") str=str+","+ yourInput; $("#hiddenvalue").val(str); //这样,hiddenvalue里面就是你输入的历史,不过没有太大的意义 response ([{ id : 1, value: Item1},{ id : 2, value: Item2}]) }request.term 就是你输入的东西response的参数 是 数组[], 是你得到的选择列表。autocomplete 的select: 是你选择了一个选项后的处理函数function( event, ui ) { $("#hiddenvalueId").val(ui.item.id); $("#hiddenvalueValue").val(ui.item.value); }上面的代码执行后hiddenvalueId中将是 被选中的 ID,hiddenvalueValue中将是 被选中的 valueui.item中有 id, value 是因为response 中的参数有这两个东西

时间: 2024-09-20 06:13:18

jquery autocomplete中,input hidden value的问题的相关文章

jquery.AutoComplete.js中文修正版(支持firefox)_jquery

复制代码 代码如下: jQuery.autocomplete = function(input, options) { // Create a link to self var me = this; // Create jQuery object for input element var $input = $(input).attr("autocomplete", "off"); // Apply inputClass if necessary if (optio

jquery mobile中怎么将input和button放在同一行

问题描述 jquery mobile中怎么将input和button放在同一行 jquery mobile中怎么将input和button放在同一行 解决方案 <div class="ui-grid-a"> <div class="ui-block-a"> <input name="telcx" id="telcx" type="tel" value=""

使用jQuery快速解决input中placeholder值在ie中无法支持的问题

 本篇文章主要介绍了使用jQuery快速解决input中placeholder值在ie中无法支持的问题.需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

jQuery中:input选择器用法实例_jquery

本文实例讲述了jQuery中:input选择器用法.分享给大家供大家参考.具体分析如下: 此选择器匹配所有的input元素.例如:<input type="text" />等等 语法结构: 复制代码 代码如下: $(":input") 实例代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <me

jquery autocomplete清除上一次查询的数据

问题描述 jquery autocomplete清除上一次查询的数据 选择城市,查出城市中的企业,在input中输入字符自动匹配企业.但是,选择江苏,查出企业之后,选择北京,北京企业也查出,但是江苏的企业也可以查?为什么..代码如下:$(""#wsAreaId"").change(function(){ $.ajax({ type: ""POST"" url: '/findWsUnit.servlet?areaId='+thi

PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能_php实例

我们在很多项目中使用了搜索功能来帮助用户更快更准确的找到想要的信息.本文将介绍如何实现用户输入自动提示的功能,就像谷歌百度搜索引擎一样,当用户输入关键字时,输入框下方会有提示,将与关键字相关的信息展现出来供用户选择,提升了用户体验. 本文将使用jquery ui的autocomplete插件,结合后端PHP,数据源通过PHP读取mysql数据表的数据. XHTML 首先将jquery库和相关ui插件,以及css导入. 复制代码 代码如下: <link rel="stylesheet&quo

利用jquery.autocomplete自动完成功能实现百度搜索下拉功能

利用jquery.autocomplete自动完成功能实现百度搜索下拉功能 --> <script language="网页特效" src="jquery.autocomplete.js"></script> <script> $().ready(function() {  $("#borough_name").autocomplete("z.php教程", {   minchars:

Jquery Autocomplete实例详细说明

注意,这个是和前一个$("#txt").autocomplete分开写的,写在上面那个绑定方法的最下面就好了. $("#txt").result(function(event, data, formatted) { }); $("#txt").autocomplete("/asmx/executeplan.ashx", { extraparams:{hosid:hosid,profid:profid}, minchars: 0

关于jquery.autocomplete的问题?

问题描述 请问jquery.autocomplete 怎样使它的提示框一开始加载页面时候就显示出来,而不是需要通过单击文本框,或者输入字符 问题原因:我通过jquery.autocomplete/***************************************/想要通过js 改变传入的json的值 从而改变提示框内显示的内容 但是如果一开始不能显示下拉提示框的话 就会出现多个下拉提示框重叠的现象,请各位高人 帮我解决 非常感谢(附件 是我写的一个demo)如 var stockIn