(1)组合框(combobox)显示一个可编辑的文本框和下拉列表,用户可以从下拉列表中选择一个或多个值。用户可以直接输入文本到列表的顶部,或者从列表中选择一个或多个现成的值。所以只需要在select中添加class="easyui-combobox"即可从输入数据并且能对下拉框中的数据进行模糊查询
(2)在angularjs框架中通过autocomplete实现下拉框中的模糊查询
<label for="query-from">编码:</label>
<input class="form-control" id="code" type="text" ng-model="CodeSearch" />
$("#code").autocomplete({
minChars: 0,
max: 5,//表示最多显示5条
mustMatch: true,
// // cacheLength: 1,
// multiple: false,
// // autoFill: true,
// scroll:true,
//width: 220,
matchContains: true,
//下面是通过ajax将值传到后台,后台将值以数组的形式传来
source: function (request, response) {
$.ajax({
url: '/api/Search',
type: "put",
dataType: "json",
data: { "WCode": $("#code").val() },
success: function (data) {
response($.map(data.Value, function (item) {
return {//label,value都是autocomplete默认的设定
label: item.Code,//这是显示出来的数据
value: item.Code//这是实际赋予的值。
}
}));
}
});
}//
});
下面是后台代码:
//模糊查询
var query = d_WMS_BASE_WL.Queryable().Where(s => s.Code.Contains(code)).Select(s => new { s.Code}).Distinct().ToArray();
rm.Value = query;
注意:
$.map(data,function(item,index){return XXX})
遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的元素,放入返回的数组中。
实例:
var array = [0, 1, 52, 97];
array = $.map(array, function(a, index) {
return [a - 45, index];
});
输出为:
[-45, 0, -44, 1, 7, 2, 52, 3]