EasyUI的combobox用法
在ITOO中有一个需求,前台使用的是easyUI的框架,这里有几个combobox下拉框,其中的内容都是可选的。
当下拉框中的内容非常多的时候,用户需要选择其中的所有内容,然后,直接对选中的所有的下拉项进行操作,就需要添加一个全选的选项。
方便用户操作,这个全选的选项必须放到下拉框的第一项,而且,这几个combobox控件默认的情况下,就是选中的全选选项。
默认选中的就是全选非常的简单,在页面加载的时候,令该控件的值value等于全选即可。
<span style="font-size:24px;"><script type="text/javascript">
//页面初始化
window.onload = function () {
$('#ExamDate').datebox('setValue', formatterDate(new Date()));
var date = $('#ExamDate').combobox('getValue');
//清空考试时间
$('#StartTime').combobox('loadData', {});
//加载考试时间
var url = "/InitExam/QueryExamTimeByDate?date=" + date;
$('#StartTime').combobox({
url: url,
valueField: 'StartTime',
textField: 'StartTime',
value: "全选"
});
//清空考试名称
$('#ExamName').combobox('loadData', {});
//加载考试名称
var url = "/InitExam/QueryExamNameByDate?date=" + date;
$('#ExamName').combobox({
url: url,
valueField: 'ExamName',
textField: 'ExamName',
value: "全选"
});
}
</script></span>
从Controller返回到前台View中的数据,使用的是Json串,给EasyUI组件的valueField和textField设置好字段之后,它就会自动的绑定Json串中key和value的值。
Controller中的方法返回的是泛型,在转换成Json串之前,先给它添加一项全选选项,为了让全选在下拉的第一项显示,必须先添加全选选项,然后再添加返回的泛型,最后,转换成Json串返回到前台。
<span style="font-size:24px;">public string QueryExamNameByDateTime()
{
string date = Request.QueryString["date"];
string time = Request.QueryString["time"];
List<v_examinformation> examinfomation = new List<v_examinformation>();
examinfomation = examinfomationViewSerivceBll.QueryExamNameByDateTime(date, time);
//添加全选
List<v_examinformation> list = new List<v_examinformation>();
v_examinformation cmb = new v_examinformation();
cmb.ExamName = "全选";
list.Add(cmb);
for (int i = 0; i < examinfomation.Count; i++)
{
v_examinformation combox = new v_examinformation();
combox.ExamName = examinfomation[i].ExamName.ToString();
list.Add(combox);
}
JavaScriptSerializer servializer = new JavaScriptSerializer();
string strJson = servializer.Serialize(list);
return strJson;
}
</span>