FineUI 官方论坛
标题:
实现autoconplete下拉功能,Enter键选择获取不到值,本人已解决
[打印本页]
作者:
Vincent
时间:
2012-4-13 15:06
标题:
实现autoconplete下拉功能,Enter键选择获取不到值,本人已解决
本帖最后由 Vincent 于 2012-4-18 10:15 编辑
if (!IsPostBack)
{
ExtAspNet.PageContext.RegisterStartupScript(
"var d=Ext.getCmp('" + ddlOrderCode.ClientID + "');" +
" d.listWidth=150; " +
" d.addListener(\"keyup\",function(f,e){ " +
" var arr=['8','16','17','37','38','39','40','13']; " +
" var x=e.keyCode; " +
" for(var n=0 ;n<arr.length;n++) {if (parseInt(arr[n])==parseInt(x)) {return;} }" +
" __doPostBack('loaddata',document.getElementById(\"" + ddlOrderCode.ClientID + "\").value);" +
"});"
);
}
else
{
if (Request["__EVENTTARGET"] == "loaddata")
{
string input = Request["__EVENTARGUMENT"];
ddlOrderCode.Items.Clear();
List<his.Model.D_DICT> list = d_dict.GetList(input);
foreach (his.Model.D_DICT m in list)
{
ddlOrderCode.Items.Add(new ExtAspNet.ListItem(m.DRUG_NAME.Trim()+"_"+m.DRUG_CODE.Trim(), m.DRUG_CODE.Trim()));
}
string strTimeMark = DateTime.Now.Ticks.ToString();
ddlOrderCode.Items.Add(new ExtAspNet.ListItem("请输入拼音码或文字进行查找选择", strTimeMark));
ddlOrderCode.SelectedValue = strTimeMark;
ddlOrderCode.SelectedItem.EnableSelect = false;
ExtAspNet.PageContext.RegisterStartupScript("document.getElementById(\"" + ddlOrderCode.ClientID + "\").value=newInput;");
}
}
}
protected override void Render(HtmlTextWriter writer)
{
StringWriter strWriter = new StringWriter();
base.Render(new HtmlTextWriter(strWriter));
writer.Write(
strWriter.ToString().Replace("id:\"" + ddlOrderCode.ClientID + "\",", "id:\"" + ddlOrderCode.ClientID + "\",editable: true,hideTrigger:true,")
);
}
[attach]266[/attach]如图前台实现的效果,如果我用Enter键选择的话,ddl里[attach]267[/attach]是有值的,但是点击获取规格没有效果,因为ddl的selectValue根本就没有值,想请教一下,如何才能让enter有用!!!!!
红色部分是改动部分!!!我想这样的功能会很有用的!所以来分享一下!,还有个问题想请教一下大家,就是下拉框中下拉出来的是药名和药品的代码,我想问一下选择之后只让药品在文本框中显示不知有人会做否?或者给个提示也行!!!
作者:
Vincent
时间:
2012-4-14 09:35
放在上一天了,怎么没人来解答????
作者:
Vincent
时间:
2012-4-15 14:06
还是没人嘛?再定一下!!!
作者:
shanzhongfei
时间:
2012-4-15 15:33
???不太明白你获取规格是什么意思?
作者:
Vincent
时间:
2012-4-16 10:25
shanzhongfei 发表于 2012-4-15 15:33
???不太明白你获取规格是什么意思?
每种药品都有规格的,根据药品代码到数据库里查找其规格,这里的药品代码是在用户选择药品之后控件自动获得的,即后台这里的代码ddlOrderCode.Items.Add(new ExtAspNet.ListItem(m.DRUG_NAME.Trim()+"_"+m.DRUG_CODE.Trim(), m.DRUG_CODE.Trim()));
作者:
Vincent
时间:
2012-4-18 09:12
希望有高手过来帮忙看一下。。。。
欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/)
Powered by Discuz! X3.4