前台:
<asp:GridView ID="gvGoodsInfo" runat="server" AutoGenerateColumns="False">
    <Columns>
            </ItemTemplate>
                  </asp:TemplateField>
                    <asp:TemplateField HeaderText="货品编号">
                     <ItemTemplate>
                      <asp:Label ID="labGoodsID" runat="server" Text='<%# Eval("GoodsID") %>'></asp:Label>
                      </ItemTemplate>
                      <ItemStyle Width="150px" HorizontalAlign="Center" />
                     <EditItemTemplate>
                       <asp:DropDownList ID="ddlGoodsID" runat="server" Width="100%" AutoPostBack="True"     onselectedindexchanged="ddlGoodsID_SelectedIndexChanged">
                             <asp:ListItem Value="0">选择货品</asp:ListItem>
                             <asp:ListItem Value="1">增加货品</asp:ListItem>
                        </asp:DropDownList>
                      </EditItemTemplate>
                     </asp:TemplateField>后台JS:
<script language="javascript" type="text/javascript"> function Pop(pagename) {
    var editIndex = document.getElementById("ctl00_ContentPlaceHolder1_txtGridViewRow").value - 1 + 2; //获取编辑行的索引
    var goodsid = gridView.rows[editIndex].cells[1].getElementsByTagName("option")[0];//找到了编辑行的DropdownList对象
     document.getElementById(goodsid.id).value;//得到了DropdownList对象的选中值。
}}
现在我想做的是当执行Pop()的时候增加GridView内的Dropdownlist的Item项,再让其显示新增Item.value.有办法做到不?

解决方案 »

  1.   

    由于牵扯问题比较多,所以只发出了部分代码。感觉页面间返回值等和我的问题没什么关系。。主要问题就是,我得到了我想要的DropDowdList。现在想用JavaScript去增加DropDowdList的项,然后去现实增加的项文本。用C#代码是DropDowdList1.item.add("text","value"); DropDowdList1.selectItem.text="text";就是需要JavaScript去实现这个功能,能不能办到?我页面间的传值和返回值都必须在客户端上执行。
      

  2.   

    DropDowdList1.item.add(new listItem("text","value"));这样才对。汗 
      

  3.   

     var obj = document.getElementById(goodsid.id);
    var newoption = new Option("test", "test");
                obj.options.add(newoption);
                obj.value = "test";
      

  4.   

    goodsid是Gridview内的DropDownList控件。我试过了。对象是存在,但id属性却是空字符串。提示:htmlfile:参数无效
      

  5.   


    var newoption = new Option("test", "test"); 
                goodsid .options.add(newoption); 
                goodsid .value = "test"; 
    对象存在压根都不用找了,这样就行了