0

に問題がありJquery Dialogます。私は `GriView. 最後の列には、ダイアログ ボックスを開いてユーザーのメール アドレスを尋ねるボタンがあります。閉じたら、ダイアログを破棄しています。2 番目の行のボタンをクリックすると、入力済みの電子メール アドレスが表示されたダイアログが開きます。閉じたモデル ダイアログを更新する方法。また、ボタンがダイアログにクリックされたときに、現在の行のデータキーを渡したいと思います。私はこのように使用しています

data-id='<%# Eval("CompetitionEntryId") %>'

html で data-id を確認できます。しかし、次のような値を取得してjqueryでIDを警告しようとすると

var id = $(this).data("id");
            alert(id);

IDが見えません。[object][object]アラートの出力です。

ASPX

<div class="entryContents">
      <asp:GridView runat="server" AllowPaging="true" ID="entriesGridView" AutoGenerateColumns="false"
            DataKeyNames="CompetitionEntryId" ShowHeader="False" OnRowDataBound="entriesGridView_RowDataBound"
            CssClass="grid">
            <Columns>
                  <asp:BoundField HeaderText="EntryId" DataField="CompetitionEntryId" Visible="False" />
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="entry_image">
                                    <asp:Image ImageUrl="" runat="server" ID="entryImage" AlternateText="Challenge Image"
                                          CssClass="image" />
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="challengeInfo">
                                    <div class="title">
                                          <asp:HyperLink runat="server" ID="challengeTitleText"></asp:HyperLink>
                                    </div>
                                    <div class="authorName">
                                          <asp:HyperLink runat="server" ID="authorName"></asp:HyperLink>
                                    </div>
                                    <div class="desc">
                                          <asp:PlaceHolder runat="server" ID="phDesc"></asp:PlaceHolder>
                                    </div>
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField>
                        <ItemTemplate>
                              <div class="votingSection">
                                    <asp:LinkButton runat="server" ID="voteNowBtn" CssClass="voteNow" Text="Vote Now"
                                          data-id='<%# Eval("CompetitionEntryId") %>'></asp:LinkButton>
                              </div>
                        </ItemTemplate>
                  </asp:TemplateField>
            </Columns>
      </asp:GridView>
</div>
<div class="vote-model" style="display: none;">
      <div class="header">
            <div class="title">
                  <h1>
                        Thank you for voting..
                  </h1>
            </div>
      </div>
      <div class="content">
            <div class="content-info">
                  Please enter your email address below, so that we can send you more information
                  on ** offers!
            </div>
            <div class="field">
                  <asp:Label runat="server" Text="Email Address:" ID="lblEmail"></asp:Label>
                  <asp:TextBox runat="server" ID="txtEmail"></asp:TextBox>
                  <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="txtEmail"
                        ErrorMessage="*required" CssClass="error required"></asp:RequiredFieldValidator>
                  <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Display="Static"
                        SetFocusOnError="true" CssClass="error invalid" ControlToValidate="txtEmail"
                        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="Invalid Email Address Format."
                        EnableViewState="false" Text="Invalid Email Address">*Invalid</asp:RegularExpressionValidator>
            </div>
            <div class="field">
                  <asp:CheckBox runat="server" Text="I would like to receive **** offers." />
            </div>
            <div class="btnSections">
                  <asp:LinkButton runat="server" ID="btnCancel" Text="Cancel" />
                  <asp:LinkButton runat="server" ID="btnOk" Text="Submit" />
            </div>
      </div>
</div>

Jクエリ

$('.voteNow').on("click", function (e) {
            e.preventDefault();
            var id = $(this).data("id");
            alert(id);
            $('.vote-model').dialog({
                  autoOpen: true,
                  width: 600,
                  height: 350,
                  resizable: false,
                  modal: true,
                  draggable: false
            });
      });

      $('#<%= btnCancel.ClientID %>').on("click", function () {
            $('.vote-model').dialog("destroy");
      });
4

1 に答える 1

0

これを試して:

$('.voteNow').on("click", function (e) {
        e.preventDefault();
        var id = $(this).data("id");
        alert(id);
        $('.vote-model').dialog({
              autoOpen: true,
               close: function (event, ui) {
            this.remove();
              },
              width: 600,
              height: 350,
              resizable: false,
              modal: true,
              draggable: false
        });
  });

  });
于 2013-06-10T11:43:08.763 に答える