0
我有一个列表视图,输出为表格。每个<td>
里面我有一个<div>
其中包含一个<hidden>
元素。jquery prev追加到许多元素
当单击该元素的同胞时,我使用jquery.prev()
读取hidden
元素的隐藏值。
它做的第一个元素很好,但是当我点击另一个元素时,它附加了第一个元素,我点击orginally。现在我正在测试,所以我有一个alert
调用变量进行测试,我得到两个警报,hidden
元素的值是我点击的第一个元素,现在是第二个。这个变种继续构建。我如何才能获得那个价值?
这里是我的标记:
<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
});
请包括相关的HTML。用描述它的文字很难跟踪。 – jfriend00
我做过,我包括div和jquery。它没有出现吗? – user516883
HTML没有显示,需要别人编辑帮助 - 现在显示。你所显示的只是HypeShareAlbum div。它不会告诉我们你想要用'.prev()'来达到什么目的,这就是你说问题的地方,它不会显示你点击那个问题的第二个元素。请证明。我疯狂的猜测是你有重复的ID,但没有看到其他相关的HTML,这只是一个疯狂的猜测。另外,如果您向我们提供实际从浏览器生成的HTML而不是ASP源,我们更可能提供准确的帮助。 – jfriend00