我有 gridview,其中添加了下拉列表和按钮。在 Rowdatabound 事件中,我正在填充下拉列表 单击按钮时,我想检查同一行客户端下拉列表中的选定项目,我该如何执行此操作。我能够在按钮上添加用于确认消息的脚本,如下所示:
<script type="text/javascript">
function confirmpo() {
if (confirm("Genrate order for this product?")) {
return true;
}
else {
return false;
}
}
</script>
<asp:GridView ID="grdColorname" runat="server" onrowcommand="grdvendorname_RowCommand" >
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="ProductId" HeaderText="Company Id" Visible="false"/>
<asp:BoundField DataField="Productname" HeaderText="Product name" />
<asp:TemplateField HeaderText="Actions" >
<ItemTemplate>
<asp:DropDownList ID="lstvendor" runat="server">
<asp:ListItem Text="Select" Value="-1"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actions">
<ItemTemplate>
<asp:Button ID="btnGenratepo" CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>' CssClass="btnclassedit" runat="server" CommandName="GenratePO" Text="" ToolTip="Genrate P/O" OnClientClick="javascript:return confirmpo();"/>
</ItemTemplate>
</asp:TemplateField
</Columns>
<RowStyle CssClass="RowStyle" />
<EmptyDataRowStyle CssClass="EmptyRowStyle" />
<PagerStyle CssClass="PagerStyle" />
<SelectedRowStyle CssClass="SelectedRowStyle" />
<HeaderStyle CssClass="HeaderStyle" />
<EditRowStyle CssClass="EditRowStyle" />
<AlternatingRowStyle CssClass="AltRowStyle" />
</asp:GridView>
有关如何执行此操作的任何建议。
最佳答案
如果我理解正确的话,在confirmpo()
里面,您想查看 <select>
的值与按钮在同一行?
在这种情况下,首先您需要查看页面呈现的 HTML。 gridview 将呈现为表格。您可以使用传递到 confirmpo()
的事件像这样:
function confirmpo(e) {
var btn = e.srcElement;
// .. locate the <select> element
// .. insert rest of the code
}
您可能应该通过 parentNode
属性高达 <tr>
,然后转到<select>
。所有这些都可以通过 DOM 遍历库(例如 jQuery)更轻松地完成。 .
关于javascript - 单击按钮时使用 jquery 从 gridview 中的下拉列表中获取所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177243/