Jquery prev附加到许多元素

时间:2011-09-17 13:54:59

标签: jquery asp.net html

我有一个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
        });

1 个答案:

答案 0 :(得分:0)

而不是将此值添加到警报,我将其添加到文本框进行测试,它工作正常。不知道为什么警报会多次出现,但现在工作正常。