在后面的代码中,我有以下代码从SQL数据库获取[IDphoto]。现在我想将IDphoto作为参数发送到jQuery函数onClick。我怎么能这样做?
背后的代码
sb.AppendFormat("<a onclick='popup()' href='#" + IDphoto + "'>");
的jQuery
function popup() {
$(document).ready(function () {
// Here I want to get the value of IDphoto ...
});
}
更新
我已根据TrueBlueAussie回复更新了代码:
photos_sb.AppendFormat("<a href=\"#\" class=\"photo\" data-photo=\"" + IDphoto + "\">");
$(document).ready(function () {
// Here I want to get the value of IDphoto ...
$('a.photo').click(function(e){
// Stop the link click from moving to the page top
e.preventDefault();
var id = $(this).attr("data-photo");
alert(id);
});
});
什么都没发生。点击不会触发jQuery函数!
答案 0 :(得分:2)
一些建议:
onclick
属性处理程序。这增加了不必要的复杂性,并将事件代码与事件注册代码分开。data-
属性来提供元数据(而不是将其隐藏在href中)。使href成为普通书签链接(#)。 $(function(){...});
是$(document).ready(function(){...});
的便捷快捷方式
e.g
sb.AppendFormat(&#34;&#34);
并添加一个jQuery点击处理程序,用于查找任何.photo
个链接的点击次数:
$(function () {
// Here I want to get the value of IDphoto ...
$('a.photo').click(function(e){
// Stop the link click from moving to the page top
e.preventDefault();
var id = $(this).attr("data-photo");
alert(id);
});
});
以下是使用一些示例链接的上述模型:
答案 1 :(得分:0)
为什么不直接将IDphoto发送到Code-Behind的相同弹出功能:
sb.AppendFormat("<a onclick='popup("+IDphoto+")' href='#" + IDphoto + "'>");
的jQuery
function popup(myVarID) {
$(document).ready(function () {
// Here I want to get the value of IDphoto ...
});
}
答案 2 :(得分:0)
不完全明白你想要什么。但这是一个例子:
代码背后:
sb.AppendFormat("<a onclick='popup("+IDphoto +")' href='#'>");
的Javascript
function popup(IDphoto) {
console.log(IDphoto);
}