我有一个listview作为表输出。在每个<td>
的内部,我有<div>
,其中包含<hidden>
元素。
当点击该元素的兄弟时,我会用hidden
读取jquery.prev()
元素的隐藏值。
它使第一个元素很好,但是当我点击另一个元素时,它会附加第一个元素,我会点击它。现在我正在测试所以我有alert
调用该变量进行测试,我得到两个警告,其中hidden
元素的值是我点击的第一个,现在是第二个。这个var继续建立。我怎么才能获得那个值呢?
这是我的标记:
<div id="HypeShareAlbum" style="padding: 0;margin:0">
<input type="hidden" value="<%#Eval("ID") %>"/>
<asp:HyperLink runat="server" Text="Share Album"></asp:HyperLink>
</div>
我相应的客户代码:
$('#HypeShareAlbum a').click(function () {
//Create/clear variiable for albumID
var albumvalue = '';
//Set Variable for albumid
albumvalue = $(this).prev().val();
//Dialog Settings
var dialogsettings = {
width: 447,
minheight: 100,
height: 356,
position: ["center"],
close: function () {
$('#ClonedEmail').html('');
}
};
//DIALOG FOR SHARING ALBUM STARTS HERE
//Show Share Album Dialog
$('#ShareDialog').dialog(dialogsettings);
//When Focusing out of main email check if exist
$('#addemail input[type=text]').focusout(function () {
//Checks main email
});
//Click Event for Adding more Emails to dialog
$('#AddMoreEmails').click(function () {
//Append Email
$('#addemail').clone().appendTo($('#ClonedEmail'));
//Remove and bind back fousout event
$('#ClonedEmail input[type=text]').unbind('focusout');
$('#ClonedEmail input[type=text]').focusout(function () {
//Check email and let user no if email is found or not
});
});
//Cancel Dialog
$('#CancelEmailShare').click(function () {
$("#ShareDialog").dialog("close");
});
//Send Email Ajax and Cancel Dialog
$('#SendEmailShare').click(function () {
alert(albumvalue);
});
//DIALOG FOR SHARING ALBUM ENDS HERE
});
答案 0 :(得分:0)
而不是将此值添加到警报,我将其添加到文本框进行测试,它工作正常。不知道为什么警报会多次出现,但现在工作正常。