单击动态表上的超链接列所需的功能

时间:2014-06-17 10:47:29

标签: jquery html hyperlink

我有动态表。第三列显示超链接记录。点击超链接..它应该重定向到新窗口

这是我的功能:

function getErrorStatusList() {
    var serve = JSON.stringify({ program: $("#proselct option:selected").text() });
    $.ajax({
        type: "POST",
        url: "UFZillaErrorStatus.aspx/GetErrorStatusList",
        data: serve,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (response) {
            $("#result").empty();
            obj = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
            var output = "<table id='tblResult'><tr><th>Serial No.</th><th>UFZillaID</th><th>MZillaID</th><th>Status</th></tr>";

            for (var x = 0; x < obj.length; x++) {
                output += "<tr><td>" + (x + 1) + "</td><td>" + obj[x].IssueID + "</td><td>" + obj[x].EMID + "</td><td>" + obj[x].EMStatus + "</td></tr>";
            }
            output += "</table>";
            $("#result").append(output);

        },
        error: function () { alert("Server Error!!"); }

    });

如何创建单击HyperLink数据的函数..我试过给元素赋予id(&#34; EMID&#34;)并创建这样的函数;

$("#EMID").click(function () {

    });

但这并没有成功......

任何建议都会有帮助

3 个答案:

答案 0 :(得分:0)

在动态元素的情况下使用ID可以创建重复的元素。

试试这个,

$(document).on('click','td:eq(2) a',function(event){
    event.preventDefault();
    //your function goes here.
})
  • 对于第三列 - 使用td:eq( 2 )。并为其添加a以获取超链接。

  • 对于动态添加的元素,您需要使用 Event Delegation - .on()

答案 1 :(得分:0)

你可以试试这个

 <script type="text/javascript">
jQuery(document).ready(function() {
      jQuery("#EMID").click(function () {

        //your function.

        return false;
      });
      jQuery("#EMID").trigger("click");
});
</script>

答案 2 :(得分:0)

1.如果你的'EMID&#39;始终是一个超链接,将你的for循环更改为:

for (var x = 0; x < obj.length; x++) {
    output += '<tr><td>' + (x + 1) + '</td><td>' + obj[x].IssueID + '</td><td><a class="fun-link" href="#">' + obj[x].EMID + '</a></td><td>' + obj[x].EMStatus + '</td></tr>';
}

看到区别?

2.然后,您可以在<head>

中添加以下代码
$(document).on('click', '.fun-link', function(event) {
    event.preventDefault();
/* Act on the event */
});