第一次在。net程序中用easyui的combobox控件,使用当中出现不少问题;
因为是第一次用我直接把官方文档中使用combobox代码,可是后来发现不行,官方的demon都是html文件,而我用的是aspx文件。combbox无法获得json中的数据;
这是官方文档中代码:
<input class="easyui-combobox" name="language" data-options=" url:'../combobox/combobox_data1.json', valueField:'id', textField:'text', multiple:true, panelHeight:'auto' ">
后来有位仁兄告诉我把json文件强制改类型改为.aspx后缀。最后果然可以了!感谢!可是我不明白为什么?
改后我的代码是:
<div title="My Documents" style="padding:10px"> <input class="easyui-combobox" id="Comx" name="language" data-options=" url:'../combobox/combobox_data1.aspx', valueField:'id', textField:'text', multiple:true, panelHeight:'auto' " />
可是数据可以展示了,可是不能获取combobox中的选取的值啊!新问题有来了。。
网上到有很多人解决方案,但是我试了好久没找到能为我所用的,开始时,我仿照很多人的做法用js获取;代码如下:
function btnClck() { alert($("#Comx").combobox("getValue")); }
运行后的结果:
行: 10010
错误: 无法获取属性“combo”的值: 对象为 null 或未定义
;之后我试了第二种方法:
alert($("#Comx").val());
这个可以获取值,但是只能去第一个选取的值;
最后有个java的兄弟告诉他们页面表单是通过action传到处理的页面的,我就尝试在后台获取combobox的值;
string ss = Request["language"]; string[] len = System.Text.RegularExpressions.Regex.Split(ss, ",");
注意我获取的是ValueField的值,细心的朋友可以看到我combobox写法中valueField和textField取得json字段是一样的。为了测试~呵呵。