に問題があり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");
});