我在程序中写了一段脚本,是需要把文本框中的对象添加到下拉框也就是Option对象。大家帮我看看这段脚本有问题吗?现在我出现的问题就是没有创建options对象。谢谢大家了./* ------  */function checktitle(obj){ 
    textBoxd = document.getElementById("ProjCost2_ascx_tkeys");
    var ddlId =document.getElementById("ProjCost2_ascx_DDLTitle");
    var drp = ddlId;
    var t=textBoxd;
    var j=0; 
    if(t.value=="")
    {
    }
     else
     { 
            for(var i=0;i<drp.length;i++)
            {
                  if(t.value==drp.options(i).text)
                  {
                       drp.value=drp.options(i).value; 
                       break;
                  }
                  else
                  {
                       j=j+1;
                  }
             }
            if(j==drp.length)
            {
                      var tOption = document.createElement("option");
                      tOption.text=t.value;
                      tOption.value=t.value;
                      drp.add(tOption);                                 }
      }
}

解决方案 »

  1.   

    HTML代码也贴出来,方便别人测试呀
      

  2.   

    textBoxd = document.getElementById("ProjCost2_ascx_tkeys");
    前面加个var
      

  3.   

    if(t.value==drp.options[i].text)
      {
      drp.value=drp.options[i].value;  
      break;
      }
      

  4.   

    我是用.NET开发的网站。HTML代码如下:    <td width="25%">
                                    <asp:DropDownList ID="DDLTitle" runat="server" AppendDataBoundItems="True" 
                                        AutoPostBack="True" DataTextField="subname" DataValueField="task_id">
                                        <asp:ListItem Value="0">==请选择==</asp:ListItem>
                                    </asp:DropDownList>
                                    <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True">
                                    </asp:ScriptManager>
                                    <div>
                                        <asp:TextBox ID="tkeys" Style="z-index: 103; position: absolute;" runat="server"
                                            Font-Size="10" MaxLength="50"></asp:TextBox>
                                        <cc1:AutoCompleteExtender ID="aceName" runat="server" TargetControlID="tkeys" MinimumPrefixLength="1"
                                            ServicePath="~/WebService2.asmx" ServiceMethod="GetProductList">
                                        </cc1:AutoCompleteExtender>
                                    </div>
                                </td>
      

  5.   

    <td width="25%">
      <asp:DropDownList ID="DDLTitle" runat="server" AppendDataBoundItems="True"  
      AutoPostBack="True" DataTextField="subname" DataValueField="task_id">
      <asp:ListItem Value="0">==请选择==</asp:ListItem>
      </asp:DropDownList>
      <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True">
      </asp:ScriptManager>
      <div>
      <asp:TextBox ID="tkeys" Style="z-index: 103; position: absolute;" runat="server"
      Font-Size="10" MaxLength="50"></asp:TextBox>
      <cc1:AutoCompleteExtender ID="aceName" runat="server" TargetControlID="tkeys" MinimumPrefixLength="1"
      ServicePath="~/WebService2.asmx" ServiceMethod="GetProductList">
      </cc1:AutoCompleteExtender>
      </div>
      </td>
      

  6.   


    function checktitle(obj){  
      textBoxd = document.getElementById("ProjCost2_ascx_tkeys");
      var ddlId =document.getElementById("ProjCost2_ascx_DDLTitle");
      var drp = ddlId;
      var t=textBoxd;
      var j=0;  
      if(t.value=="")
      {
      }
      else
      {  
      for(var i=0;i<drp.options.length;i++)
      {
      if(t.value==drp.options(i).text)
      {
      //drp.value=drp.options(i).value;  
      drp.selectedIndex = i;
      break;
      }
      else
      {
    j=j+1;
      }
      }
      if(j==drp.options.length)
      {
      var tOption = document.createElement("option");
      tOption.text=t.value;
      tOption.value=t.value;
      drp.options.add(tOption);   
      }
      }
    }