1

当您使用 jQuery 单击超链接名称时,有没有办法获取超链接名称?我有以下代码,我需要一些 jQuery 方向:

<a href="#" id="imageClick" name='<%# Eval("fileName1") %>'><asp:Image ID="myImage" name='<%# Eval("fileName1") %>' runat="server" ImageUrl='<%#"~/Image/" + Eval("fileName") %>'  /></a>

基本上我想返回<%# Eval("fileName1") %>的值。

谢谢。

编辑:为了更清楚,我有一个弹出页面,其中包含一个包含图像和单选按钮的 listView。要求是,如果您单击单选按钮,它应该获得该特定选择的值并关闭弹出窗口。我还将一个值传递回父窗口。所以这就是我所拥有的:

    $(document).ready(function () {
    $("#form1").change(function () {

        var val = "";

        if ($('input:radio[name=myRadio]:checked').val()) {
            val = $('input:radio[name=myRadio]:checked').val();
        }

        if (val != "") {

            $(window.opener.document).find('#txtLogos').val(val);
            // Close the window
            window.close();
        }
    });
});

当我单击其中一个单选按钮时,这可以正常工作。但是现在他们增加了另一个要求,即如果他们单击图像,他们想要相同的结果(显然不会破坏单选按钮的功能)。

4

2 回答 2

4

您可以this.name在点击处理程序中使用它来访问它。this这里是Dom元素(不需要jquery来获取元素属性值),所以直接访问元素的name属性即可。

$('#imageClick').click(function(){
   alert(this.name);
});

编辑

单击图像不会触发表单更改;与输入、选择、文本区域等不同。因此,您需要在图像单击事件上手动触发表单更改(模拟单选按钮单击触发表单更改事件)。

将点击处理程序绑定到您的图像以添加类:

$('yourimageselector').click(function(){

      $(this).toggleClass('checkedImage'); // Add a class on first click and again clicked on it remove the class to say it is turned off. If you dont want a turn off functionality simply say :

     //$(this).addClass('checkedImage'); //or if this is the only class then this.className = 'checkedImage' classList is not yet supported in all browsers.

     $('yourform').change(); //as this is image it wont trigger form change event so you need to manually trigger form's change event (only for input, select, textarea etc form change will be triggered).       

});

在您的表单事件中:

$("#form1").change(function () {

        var imgNames= $('.checkedImage')
              .map(function(){return this.name; })
              .get(); // Will get you all the image names in an array.
   //if it is just one image then simply do if($('.checkedImage').length > 0) $('.checkedImage')[0].name, 

   //Code follows

  });

小提琴

于 2013-06-21T17:59:59.890 回答
2

这也可以在您的 click 事件处理程序中工作:

document.getElementById("new-answer-activity").name
于 2013-06-21T18:05:35.147 回答