我通过ajax在表中生成值。这个值是s。 在这个角色里面有一个锚,它将扮演所有这些角色。这个锚标签有一个类,我用它来用javascript引用它。
此角色中的锚标记具有引用javascript方法的onclick函数,我正在尝试使用此方法获取单击的锚标记的属性之一。 但不幸的是,当我点击角色中的锚标签时,我得到了未定义的错误。
<tr>
<td>
<a href="#" onClick="JavaScript:filltransfercombo();" class="btn btn-default transferchat" data-operatorid="@avisitor.OperatorID" data-toggle="modal" data-target="#transferModal" title="Transfer chat">
<img src="~/Content/images/chaticons/transfer.png" height="20" width="20" />
</a>
</td>
</tr>
我的意图是收集这个属性 - data-operatorid。我想在我的javascript中使用它进行一些操作。
我的javascript位于
之下<script type="text/javascript">
function filltransfercombo() {
var result = "";
var active = $('a').index(this);
var currentoperatorid = $(active).attr("data-operatorid"); //This is the id of the currently attending operator
console.log(currentoperatorid);
}
</script>
答案 0 :(得分:1)
onclick
事件不需要javascript:
表示法......如果您在href
上设置方法,请将其置于其中。
此外,从onclick
事件您可以访问this
变量,而不是方法。但是,您可以将其作为参数传递,因此:
<a href="#" onClick="filltransfercombo(this);" class="btn btn-default transferchat" data-operatorid="@avisitor.OperatorID" data-toggle="modal" data-target="#transferModal" title="Transfer chat">
和js:
function filltransfercombo(sender) {
var result = "";
var currentoperatorid = $(sender).attr("data-operatorid"); //This is the id of the currently attending operator
console.log(currentoperatorid);
}
答案 1 :(得分:0)
这可以通过jQuery轻松完成。
删除&#34; onClick&#34;您的锚点上的属性,而是将单击函数绑定到锚标记(仅在表格内)。然后在该函数中添加处理代码。
做这样的事情:
<script type="text/javascript">
$(document).ready(function() {
$('table tr td a').click(function() {
var result = "";
var currentoperatorid = $(this).data("operatorid"); //This is the id of the currently attending operator
console.log(currentoperatorid);
});
});
</script>
Natrually,您需要确保此页面中还包含jQuery javascript库。