62,074
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<style>
<!--
.cls1 { position:absolute; left:250px; top:89px; width:216px; height:72px; z-index:1; }
.cls2 { position:absolute; left:250px; top:89px; width:95px; height:18px; z-index:2 }
input { font-size: 12px; padding-top: 2px; padding-left: 2px;width:127;}
//-->
</style>
</head>
<script>
<!--
function addOption(pos){
if(event.keyCode==13)
{
var select_obj = document.getElementById("myselect");
var text_value = document.getElementById("test").value;
if (select_obj.length)
{
for (var i=0;i<select_obj.length;i++)
{
// 如果已经存在,不添加,直接退出
if (select_obj.options[i].text==text_value)
alert("选项已存在,请重新输入");
}
}
var the_option= new Option(text_value,text_value);
select_obj.add(the_option);
select_obj.selectedIndex = select_obj.options.length-1
}
}
//-->
</script>
<div class="cls1" style="clip: rect(3 280 21 110)">
<select name="myselect" style="width:127" onchange="document.getElementById('test').value=this.value">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
</div>
<div class="cls2">
<input type="text" name="test" onkeydown="addOption()" size="20" style="width: 127; height: 23">
</div>
</body>
</html>
//下面是他的cs文件的内容:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace Newsease.Common.Web.UI.WebControls
{
/**/
/// <summary>
/// DropDownList 的摘要说明。
/// </summary>
[ToolboxData("<{0}:DropDownListExtend runat=\"server\" />")]
public class DropDownListExtend : System.Web.UI.WebControls.TextBox
{
private Hashtable _values;
public DropDownList _DropDownList;
public DropDownListExtend()
{
_values = new Hashtable();
_DropDownList = new DropDownList();
}
public Hashtable Values
{
get
{
return _values;
}
set
{
_values = value;
}
}
/**/
/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的HTML 编写器</param>
protected override void Render(HtmlTextWriter output)
{
int iWidth = Convert.ToInt32(base.Width.Value);
if (iWidth == 0)
{
iWidth = 102;
base.Width = Unit.Parse("102px");
}
int sWidth = iWidth + 20;
int spanWidth = sWidth - 18;
output.Write("<div style=\"POSITION:relative; WIDTH:122px;top:-13px;height:8px\">");
output.Write("<span style=\"MARGIN-LEFT:" + spanWidth.ToString() + "px;OVERFLOW:hidden;WIDTH:18px;\">");
_DropDownList.Width = Unit.Parse(sWidth.ToString() + "px");
_DropDownList.Style.Add("MARGIN-LEFT", "-" + spanWidth.ToString() + "px");
_DropDownList.Attributes.Add("onchange", "this.parentNode.nextSibling.value=this.options[this.selectedIndex].text");
if (_values.Count > 0)
{
foreach (string key in _values.Keys)
{
ListItem item = new ListItem();
item.Value = key;
item.Text = _values[key].ToString();
_DropDownList.Items.Add(item);
}
}
if (_DropDownList.Items.Count == 1)
{
ListItem item = new ListItem();
item.Value = "";
item.Text = " ";
_DropDownList.Items.Add(item);
_DropDownList.SelectedIndex = 1;
}
_DropDownList.RenderControl(output);
output.Write("</span>");
base.Style.Clear();
base.Width = Unit.Parse(iWidth.ToString() + "px");
base.Style.Add("POSITION", "absolute");
base.Style.Add("left", "0px");
base.Render(output);
output.Write("</div>");
}
}
}