我有动态表。第三列显示超链接记录。点击超链接..它应该重定向到新窗口
这是我的功能:
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 () {
});
但这并没有成功......
任何建议都会有帮助
答案 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 */
});