jquery.autocomplete 传参问题
今天遇到一个问题,我需要传一个文本库的内容给后台,然后用autocomplete显示内容,开始觉得很简单
不就是
function SalePrice_Complete(text) {
//分割拿到索引
var value=$("#MaterielID_" + text.selector.split('_')[]).val();
text.autocomplete("/Control/webControl.ashx",
{
dataType: 'json', //返回数据类型
width: ,
minChars: ,
extraParams: { Method: "SalePriceAutoComplate",MaterielID:value},
parse: function (data) { //后台返回的数据传给自定义的rows
var rows = [];
for (var i = ; i < data.length; i++) {
rows[rows.length] = {
data: "[" + data[i].FPirce + " " + data[i].FDate + "]", //显示在搜索界面的列表
value: data[i].FPirce , //查询结果
result: data[i].FPirce //显示在文本框的内容
};
}
return rows;
},
formatItem: function (row, i, n) {
return row;
}
}).result(function (event, item, returnvalue) {
var values = returnvalue;
var index = text[].id;
var i = index.split('_')[];
//物料编号
$("#price_" + i).val(values[]);
});
};
但是代码运行后发现,MaterielID得到是空的,想了很久不知道为什么,于是在后台和js都下了断点,再运行,发现js没有再运行过了,但是后台却断点断到了
所以我们可以推断,变量是要动态赋值的
于是参考了下网上的代码,修改成
function SalePrice_Complete(text) { text.autocomplete("/Control/webControl.ashx",
{
dataType: 'json', //返回数据类型
width: ,
minChars: ,
extraParams: { Method: "SalePriceAutoComplate",MaterielID:function(){ return $("#MaterielID_" + text.selector.split('_')[]).val()}},
parse: function (data) { //后台返回的数据传给自定义的rows
var rows = [];
for (var i = ; i < data.length; i++) {
rows[rows.length] = {
data: "[" + data[i].FPirce + " " + data[i].FDate + "]", //显示在搜索界面的列表
value: data[i].FPirce , //查询结果
result: data[i].FPirce //显示在文本框的内容
};
}
return rows;
},
formatItem: function (row, i, n) {
return row;
}
}).result(function (event, item, returnvalue) {
var values = returnvalue;
var index = text[].id;
var i = index.split('_')[];
//物料编号
$("#price_" + i).val(values[]);
});
};
这样后台拿到MaterielID就有值了,事实证明,在对代码机制不熟悉的情况下,用正常思维去推只能让你陷入烦恼和气愤中,想着明明有赋值,怎么到后台就不见了,所以还是多用断点多调试,用事实说话
jquery.autocomplete 传参问题的更多相关文章
- 【HTML】Jquery前台传参及接收
在一些网页应用中,有的时候需要前台之间传递参数,通过JS语法来做一些判断处理. 发送端:(a页面) <a href="b.html?Show=true" id="t ...
- Ajax传参讲解
客户端和服务器 1.请求:request 2.响应:response 服务器响应事件:onreadystatechange() send() 用于向后台传递参数: Ajax的请求方式 get: ...
- JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
<script src="jquery.min.js" type="text/javascript"></script> <scr ...
- jQuery多图上传Uploadify插件使用及传参详解
因为工作需要,这两天接触到了Uploadify插件,由于是第一次用,花了我近一天的时间.下面我把我在用这个插件过程详细的分享出来,也让自己巩固一下,也希望能帮助到你. 所需文件: jquery-1.8 ...
- jQuery对象初始化的传参方式
jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...
- jquery插件函数传参错误
1.jquery传参通过json,可能的错误是,参数中的结束符写成了;
- angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...
- 跨域问题及jQuery中Ajax传参的讲解
1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样: 浏览器对于javascript的同源策略的限制: 案例: 以 http://172.164.23:8088/ 为例 相同域名:172. ...
- Jquery autocomplete插件的使用
简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
随机推荐
- FrameWork数据权限浅析2之基于用户的配置表实现行级数据安全
在上一篇笔记中我已经说了如何利用FM自带的机制配合我们已经通过验证的用户空间的组来实现行级数据安全的控制,但是由于上一个方法存在的缺点是以后如果对该对象增加基于用户或者角色的访问权限就需要开发人员去F ...
- html中块注释<!--[if IE]>….<![endif]--> (<!--[if !IE]>||<![endif]
1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->2. <!--[if IE]> 所有的IE可识别 & ...
- 算法笔记_134:字符串编辑距离(Java)
目录 1 问题描述 2 解决方案 1 问题描述 给定一个源串和目标串,能够进行如下操作: 在任意位置上插入一个字符: 替换掉任意字符: 删除任意字符. 写一个程序,实现返回最小操作次数,使得对源串 ...
- java防止sql注入
public final static String filterSQLInjection(String s) { if (s == null || "".equals(s)) { ...
- js获取时间戳的三种方式
js获取时间戳的三种方式 CreateTime--2018年5月23日08:44:10 Author:Marydon // 方式一:推荐使用 var timestamp=new Date().ge ...
- Android 识别身份证号码(图片识别)
概述 Android 身份证号码识别 (本地,在线,实时),网络识别用的别人的接口,不保障什么时候就用不了了,本地识别基于tess_two,位置对的话识别准确率达到90%以上. 详细 代码下载:htt ...
- ubuntu建立软ap共享无线网络
建立ad-hoc模式共享网络 viewtopic.php?f=116&t=387194 有些android手机可能不支持ad-hoc模式,要第三方rom才行. 首先安装这些工具 代码: apt ...
- 树莓派/RaspberryPi 内核源码下载
树莓派的源码有两种下载方式:压缩包下载和git clone指令下载. 1.压缩包下载 选择对应分支,点击Github界面的 下载按钮即可,如下图: 测试发现,同样的分支,用压缩包方式下载后编译会出错, ...
- C#指南,重温基础,展望远方!(9)C#接口
接口定义了可由类和结构实现的协定. 接口可以包含方法.属性.事件和索引器. 接口不提供所定义的成员的实现代码,仅指定必须由实现接口的类或结构提供的成员. 接口可以采用多重继承. 在以下示例中,接口 I ...
- TextWatcher
对于一些需求,如非法字符限制(例如不允许输入#号,如果输入了#给出错误提示),做成动态判断更方便一些,而且容易扩展: 在Android里使用TextWatcher接口可以很方便的对EditText进行 ...