1

ドロップダウンリストとボタンを追加したグリッドビューがあります.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>

これを行う方法に関する提案。

4

2 に答える 2

0

テストされていないこのように見えます

$("#grdColorname input:button").click(function(){
 var selectedValue=$(this).parent('td').prev('td').find('input:select').value();
});

selectedValue には、ドロップダウン リストに必要な値が含まれます。

于 2012-11-01T12:49:07.620 に答える
0

私の理解が正しければ、 の中で、ボタンと同じ行にconfirmpo()の値を表示したいですか?<select>

その場合、まずページのレンダリングされた HTML を確認する必要があります。グリッドビューはテーブルとしてレンダリングされます。confirmpo()次のように渡されるイベントを使用できます。

function confirmpo(e) {
    var btn = e.srcElement;
    // .. locate the <select> element
    // .. insert rest of the code
}

parentNodeプロパティを介してまで<tr>行き、次に にたどり着く必要があり<select>ます。jQueryなどの DOM トラバーサル ライブラリを使用すると、これらすべてを簡単に実行できます。

于 2012-11-01T12:45:07.807 に答える