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 ...
随机推荐
- Transform数据权限浅析1之mdl语句批量加载权限
Cognos建模工具除了Framework之外,还有一个Transform,两者的最大区别就是在于Framework是通过结构直连关系数据库的,数据根据数据仓库的变化而变化,而Transform是生产 ...
- Cocos2d-x 2.x 升级为 3.x 常见变化纪录
1.去CC 之前2.0的CC**,把CC都去掉,主要的元素都是保留的 2.0 CCSprite CCCallFunc CCNode .. 3.0 Sprite CallFunc Node .. 2. ...
- Java取出String字符串括号中的内容
形如: String idStr="dfda(2018)41324"; private int getId(String gSQL){ String quStr=gSQL.subs ...
- CSS基础和布局复习
table布局 div布局优势 浏览器支持完善 表现和结构分离 样式设计控制功能强大 可以继承,层叠处理 Transitional // 松散过度型 Strict //严格型 Fram ...
- iOS buttonWithType:101 苹果私有api
无意中发现,有人创建UIButton这样写 UIButton *previousButton = [UIButtonbuttonWithType:101]; 一看原来是私有api UIButton * ...
- es5 - array - shift
/** * 描述:该shift()方法从数组中删除第一个元素并返回已删除的元素.此方法更改数组的长度. * 语法:arr.shift() * 返回:该shift方法删除零点索引处的元素并将连续索引处的 ...
- TP框架中field查询字段
TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...
- STRUTS2配置动态页面
STRUTS2配置动态页面 CreateTime--2017年5月11日09:00:31Author:Marydon 1.struts配置 <?xml version="1.0&q ...
- OFBiz:解析doRequest()
这里的doRequest()是指RequestHandler中的同名函数: public void doRequest(HttpServletRequest request, HttpServletR ...
- 【剑指offer】面试题30:最小的K个数
import random def partition(data, start, end): if end <= start: return start index = random.randi ...