我在隐藏的弹出窗口中有一个 asp:DropDownList 控件,当用户单击 Gridview 控件行上的图标(图像)时,将激活此弹出窗口。
然后我使用一些jquery来选择被点击的行,然后我提取gridview行上标签控件的值,然后想要填充弹出字段(文本框控件和下拉列表控件默认值),这个想法正在使用它们来更新数据库中行中的记录。
我遇到的问题是在弹出窗口的下拉控件中填充默认选择。我可以填充文本框中的文本框,而不是下拉列表。
这是其中一个文本框和来自 gridview 的 ddl 的标记,我从中获取我的值:
<asp:TemplateField HeaderText="Current Stage">
<ItemTemplate>
<asp:Label ID="lblCurrentStage" CssClass="clCurrentStage" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CurrentStage")%>' ToolTip ='<%# DataBinder.Eval(Container.DataItem, "CurrentStage")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Review Date">
<ItemTemplate>
<asp:Label ID="lblReviewDate" CssClass="clReviewDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ReviewDate")%>' ToolTip ='<%# DataBinder.Eval(Container.DataItem, "ReviewDate")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
这是在文本框上运行良好但在 ddl 上运行良好的代码:
<div id="PopUpTrackerEditFieldCurrentStage">
<div class="clEditFieldCurrentStageContainer">
<asp:DropDownList ID="ddlPopUpEditCurrentStage" runat="server"> </asp:DropDownList>
</div>
</div>
<div id="PopUpTrackerEditFieldReviewDate">
<div class="clEditFieldReviewDateContainer">
<asp:TextBox ID="tbPopUpEditReviewDate" CssClass="clPopUpDateFieldsInEdit" runat="server" Text="" ToolTip =""></asp:TextBox>
</div>
</div>
这是用于填充文本框和下拉列表的 jquery:
//Store the current row being edited
var row = $(this).closest("tr");
//Get the existing Comments into a string
var strCurrentStage = $(".clCurrentStage", row).text();
//Add the any existing Comments
$("#<%=ddlPopUpEditCurrentStage.ClientID%>").val(strCurrentStage);
//Dynamically add the text to the tooltip
$("#<%=ddlPopUpEditCurrentStage.ClientID%>").attr('title', 'Click to select the current stage here for ' + strPSTNNum);
//Get the existing Review Date into a string
var strReviewDate = $(".clReviewDate", row).text();
//Add the any existing Review Date
$("#<%=tbPopUpEditReviewDate.ClientID%>").val(strReviewDate);
//Dynamically add the text to the tooltip
$("#<%=tbPopUpEditReviewDate.ClientID%>").attr('title', 'Edit the review date here for ' + strPSTNNum);
我知道 strCurrentStage 没问题,因为我临时使用它来填充文本框,以查看它是否包含来自 gridview 中当前阶段标签的当前阶段文本,并且确实如此。所以我认为的问题是我无法选择下拉列表控件的正确部分来填充默认值。