下拉框中使用json格式数据并且支持模糊搜索
2017-06-23 17:26
441 查看
最近开发新项目需要用到下拉框并且支持输入内容后自动搜索包含内容的值,但是由于底层返回值的方法已写死,返回的是一个json格式的数据,不适用于之前的加载方式(之前是返回list或者map,然后直接加载,但是不能进行模糊匹配,代码如下:)
想了很久,忽然觉得只要解析json格式的数据再放入下拉框中就解决问题了,源码如下:
希望能帮助有需要的朋友
$.ajax({ url: url, dataType: 'json', async: false, type: "POST", success: function (obj) { $('#selProv').combobox({ data: obj, mode: 'local', valueField: 'regionId', textField: 'regionNm' }); } });
想了很久,忽然觉得只要解析json格式的数据再放入下拉框中就解决问题了,源码如下:
/** * 用于下拉框加载json格式的数据,并支持模糊搜 * @param target 下拉框的id * @param url 得到数据的请求路径 * @param value valueField 名称 * @param text textField 名称 */ function loadData_combobox(target,url,value,text){ var data; $.ajax({ url: url, dataType: 'json', async: false, type: "POST", success: function (result) { data = result.data; } }); $(target).combobox( { data: data, prompt : '输入关键字后自动搜索', hasDownArrow : true, valueField : value, textField : text, editable : true, mode : 'local', filter : function(q, row) { var opts = $(this).combobox('options'); return row[opts.textField].indexOf(q) >= 0; } , onHidePanel: function() { var valueField = $(this).combobox("options").valueField; var val = $(this).combobox("getValue"); var allData = $(this).combobox("getData").data; var result = true; for (var i = 0; i < allData.length; i++) { if (val == allData[i][valueField] && val != '' && val != null) { result = false; break; } } if (result) { $(this).combobox("clear"); $(this).combobox('select', ""); } } } ); }
希望能帮助有需要的朋友
相关文章推荐
- 下拉列表select中使用ajax的json数据交换格式动态改变div层里面的复选框checkbox值
- C++ Builder 使用 JsonCpp 解析json格式数据方法( 支持 UNICODE (UTF-16) / UTF-8 )
- mysql使用like模糊搜索json的数据
- GWT与JSON(使用JSON格式的数据通讯)
- 在.NET使用JSON作为数据交换格式
- 在.NET使用JSON作为数据交换格式
- 在.NET使用JSON作为数据交换格式
- GWT与JSON(使用JSON格式的数据通讯)
- ADO.NET Data Service如何直接支持用Json格式返回数据
- 在.NET使用JSON作为数据交换格式
- 关于jsp中使用jquery数据格式json
- 在.NET使用JSON作为数据交换格式
- 使用JSON来做数据传输的动态下拉列表(转自http://j2ee.blog.sohu.com/68011726.html)
- lkJSON - Delphi下使用json数据格式
- 在.NET使用JSON作为数据交换格式
- GWT入门介绍(使用JSON格式的数据通讯)
- js与php之间使用json格式进行数据交互
- 在.NET使用JSON作为数据交换格式
- 使用Jquery提交Json格式的数据到Asp.net程序的另类做法.
- 在.NET使用JSON作为数据交换格式