今天遇到一个问题,我需要传一个文本库的内容给后台,然后用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 传参问题的更多相关文章

  1. 【HTML】Jquery前台传参及接收

    在一些网页应用中,有的时候需要前台之间传递参数,通过JS语法来做一些判断处理. 发送端:(a页面) <a href="b.html?Show=true" id="t ...

  2. Ajax传参讲解

    客户端和服务器 1.请求:request 2.响应:response 服务器响应事件:onreadystatechange() send() 用于向后台传递参数: Ajax的请求方式 get:    ...

  3. JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

    <script src="jquery.min.js" type="text/javascript"></script> <scr ...

  4. jQuery多图上传Uploadify插件使用及传参详解

    因为工作需要,这两天接触到了Uploadify插件,由于是第一次用,花了我近一天的时间.下面我把我在用这个插件过程详细的分享出来,也让自己巩固一下,也希望能帮助到你. 所需文件: jquery-1.8 ...

  5. jQuery对象初始化的传参方式

    jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...

  6. jquery插件函数传参错误

    1.jquery传参通过json,可能的错误是,参数中的结束符写成了;

  7. angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post

    1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...

  8. 跨域问题及jQuery中Ajax传参的讲解

    1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样: 浏览器对于javascript的同源策略的限制: 案例: 以 http://172.164.23:8088/ 为例 相同域名:172. ...

  9. Jquery autocomplete插件的使用

    简单用法: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

随机推荐

  1. 如何获取浏览器URL中查询字符串的参数?

    如何获取浏览器URL中查询字符串的参数? 想要知道怎样解决这个问题,首先我们先认识一下Location对象. Location对象包含了当前页面与位置(url)相关的信息 URL示例:http://w ...

  2. Codeforces Round #FF (Div. 1)-A,B,C

    A:DZY Loves Sequences 一開始看错题了. .sad. 题目非常easy.做法也非常easy.DP一下就好了. dp[i][0]:到当前位置,没有不论什么数改变,得到的长度. dp[ ...

  3. python2.7里的StringIO.StringIO与BytesIO有什么区别

    import StringIO与from io import BytesIO的区别 open()函数返回的文件对象取决于模式.当使用文本模式打开文件时,它返回一个TextIOBase的子类.当使用二进 ...

  4. Append 后如何使用 fadein淡入效果

    Append 后如何使用 fadein淡入效果 Append 后如何使用 fadein 先隐藏才能显示!代码如下: $('ul.getlist').append(list).hide().fadeIn ...

  5. Python dict的特点

    dict的特点 1:查找速度快 2:浪费空间 3:key不可以重复,且不可变 4:数据无序排放 dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的 ...

  6. 17、Cocos2dx 3.0游戏开发找小三之内置的经常使用层:三剑客LayerColor、LayerGradient、Menu

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30477587 为了方便游戏开发人员.Cocos2d- ...

  7. Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

    setup slave from backup i got error Got fatal error 1236 from master when reading data from binary l ...

  8. window.open()函数

    http://hi.baidu.com/gagahjt/blog/item/7b76e0dee61b20aecd11661c.html open函数详解: window.open("sUrl ...

  9. Android的xml/assets/raw资源使用具体解释

    一.assets/xml/raw资源介绍 1.assets资源文件夹:assets文件夹下存放的资源代表应用无法直接訪问的原生资源,这些文件将原封不动的存储到设备上,不会被编译为二进制形式,訪问方式是 ...

  10. [svc]centos6系统安装(分区)及其18处调优调优最佳实战

    系统下载 在阿里云下载 可以使用最小化的,也可以使用dvd版(CentOS-6.7-x86_64-bin-DVD1.iso),其中dvd版方便安装过程中选包. 一. 系统安装 1,时区选择 2,磁盘分 ...