不刷新页面的 可输可选下拉框

aspx:

<asp:TextBox ID="txtHouseUse1" runat="server" class="top31" Width="159px"  AutoPostBack="False"
                         οnmοusedοwn="Show1(this,'hidden1','selectWYuse','txtHouseUse1');"
                         οnkeyup="Select1(this,'hidden1','selectWYuse','txtHouseUse1');"
                         BorderColor="#999999"
                        BorderStyle="Solid" BorderWidth="1px"></asp:TextBox>
        <div id="div2" runat="server" style="display:none;">
          <select name="aabb" id="selectWYuse" class="select" >  
           <option value=""></option>  
            <option value="选项1">选项</option>
            <option value="选项2">选项</option>
            <option value="选项3">选项</option>
            <option value="选项4">选项</option>
            <option value="选项5">选项</option>
          </select>    
          </div>
           <input   type="hidden"  runat="server"   id="hidden1"  style="WIDTH:0px;HEIGHT:0px"/>  

js:

var   popUp1;
var inputHidden;
var select;
var txt;
function Show1(obj,hiddenname,selectname,txtname)
{
    inputHidden=hiddenname;
    select=selectname;
    txt=txtname;
    popUp1 = new PopUp1();
    popUp1.CreatePopUp();
    popUp1.PositionItem(obj);
}

function  Select1(obj,hiddenname,selectname,txtname)
{
    try
    {    
        inputHidden=hiddenname;
        select=selectname;
        txt=txtname;
        if   (popUp1.IsClosed())
        {
            popUp1.CreatePopUp();
        }
        else
        {
            popUp1.PositionItem(obj);
          //  var form = document.getElementById("");
        }
    }
    catch   (   e   )
    {}

    if   (   popUp1   ==   undefined   )
    {
        popUp1   =   new   PopUp1();
        popUp1.CreatePopUp();
    }
}

function   PopUp1()
{
var   oPopup;
var   isClosed   =   true;
}

PopUp1.prototype.IsClosed   =   function() //此类函数为动态创建类函数 运行时才生成
{
return   isClosed;
}

PopUp1.prototype.CreatePopUp   =   function()
{
oPopup   =   window.createPopup();

/*
oPopup.document.body.onunload   =   function()
{
isClosed   =   true;
var   div   =   oPopup.document.getElementsByTagName('div');
var   spans   =   div[0].getElementsByTagName('span');

for   (   var   i   =   0;   i   <   spans.length;   i++   )
{
if   (   spans[i].style.background.toLowerCase()   ==  '#e1ecfc'   )
{
if( spans[i].innerText != "")// add by wendy
  { 
   document.getElementById(txt).value   =   spans[i].innerText;
   //document.getElementById(inputHidden).value   =   spans[i].getElementsByTagName(inputHidden)[0].value;
   //var test= document.getElementById('textbox');
   var temp = "__doPostBack(\'"+txt+"\',\'\')" ;
      //__doPostBack( 'textbox ', '');//会刷新整个页面
}
return;
}
}
if(document.getElementById(txt).value   ==  '')//add by wendy
{
  document.getElementById(txt).value   =  '';
  document.getElementById(inputHidden).value   =  '';
}
}

*/
oPopup.document.body.onselectstart   =   function()
{
return   false;
}

oPopup.document.body.oncontextmenu   =   function()
{
return   false;
}

var   oDocument   =   oPopup.document;
var   oBody   =   oPopup.document.body;
var   element   =   window.event.srcElement;
var   left   =   element.getBoundingClientRect().left;
var   top   =   element.getBoundingClientRect().top   +   element.offsetHeight;
var   width   =   element.offsetWidth;

var   oDiv   =   oDocument.createElement('div');
oBody.appendChild(oDiv);

oDiv.style.position   =  'absolute';
//oDiv.style.zIndex       =   9999;
oDiv.style.border       =  '1px solid  #CCCCCC';
oDiv.style.overflow   =  'auto';
oDiv.style.width         =  '100%';
oDiv.style.height       =  '100%';
oDiv.style.left           =   0;
oDiv.style.top             =   0;

var   oSpan;
var   oHidden;

//   绑定数据
var list = document.getElementById(select);
var index ;//= list.selectedIndex;//Items.Count
var listvalue ;//= list.options[index].value;
var listText;// = list.options[index].text;
var count = list.options.length;
for   (var   i   =   0;   i   <   count;   i++)
{
    index = i;
    listvalue = list.options[index].value;
    listText = list.options[index].text;
    oSpan   =   oDocument.createElement('span');
    oDiv.appendChild(oSpan);

    oSpan.style.border   =  '1px   solid   #F5F5F5';
    oSpan.style.height   =  '20px';
    oSpan.style.width     =  '100%';
   
    oSpan.innerHTML = listText;//  'test'   +   i;
    oSpan.attachEvent('onclick',   this.SelectItem);

    oSpan.onmouseover   =   function()
    {
    this.style.background   =  '#E1ECFC';
    }

    oSpan.onmouseout   =   function()
    {
    this.style.background   =  '';
    }

    oHidden   =   oDocument.createElement('hidden');
    oSpan.appendChild(oHidden);
    oHidden.value   = listvalue;//  i   +  'test';
}
if   (txt == "txtcerAnJie" ||txt == "txtCerLinkMan" )
{
oPopup.show(left,   top,   width,   60,   window.document.body);
}
else
{
  oPopup.show(left,   top,   width,   227,   window.document.body);
}
isClosed   =   false;
}

PopUp1.prototype.SelectItem   =   function()
{
var   div   =   oPopup.document.getElementsByTagName('div');
var   spans   =   div[0].getElementsByTagName('span');

for   (   var   i   =   0;   i   <   spans.length;   i++   )
{
spans[i].style.background   =  '';
}

//   获取   createPopup   里面的事件源
var   element   =   oPopup.document.parentWindow.event.srcElement;
element.style.background   =  '#E1ECFC';
if(element.innerText!="")//add by wendy
{
  
    document.getElementById(txt).value   =   element.innerText; 
       oPopup.hide();
    var test= document.getElementById(txt);
    var temp = "__doPostBack(\'"+txt+"\',\'\')" ;
    if   (txt == "txtFH")
     javascript:setTimeout('__doPostBack(\'txtFH\',\'\')', 0);
    if   (txt == "textbox")
     javascript:setTimeout('__doPostBack(\'textbox\',\'\')', 0);
         if   (txt == "txtCerOwnerFrom2")
     javascript:setTimeout('__doPostBack(\'txtCerOwnerFrom2\',\'\')', 0);
}
}

PopUp1.prototype.PositionItem   =   function(obj)
{
var   text   =   obj.value;
var length   =   text.length;
var   div   =   oPopup.document.getElementsByTagName('div');
var   spans   =   div[0].getElementsByTagName('span');

for   (   var   i   =   0;   i<spans.length;i++)
{
spans[i].style.background   =  '';
}

for   (   var   i   =   0;   i   < spans.length;i++)
{
if   (   length   >   0   &&   spans[i].innerHTML.substr(0,   length)   ==   text   )
{
spans[i].style.background   =  '#E1ECFC';
oPopup.document.getElementsByTagName('div')[0].scrollTop   =   spans[i].offsetTop   -   spans[i].offsetHeight;
break;
}
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值