在我的页面中有两个'Conatct Selected'锚点按钮,一个在顶部,id为“selectAllLink”,另一个在底部,id为页面的“selectAllLinkB”。最好的一个使用以下脚本完美地工作:
<script type="text/javascript">
$(function() {
$('#selectAllLink').each(function() {
var a = [];
var n = $("td.title_listing input:checked");
var s = "";
n.each(function() {
a.push(this.value);
});
s = a.join(',');
if (a.length > 0)
this.href = "/D_ContactSeller.aspx?property=" + s;
else
this.href = 'javascript:alert("Select at least one property to contact!");';
return false;
});
});
现在我的底部锚点按钮我试着把它的id作为'selectAllLinkB'并改变了这样的代码:
<script type="text/javascript">
$(function() {
$('#selectAllLink, selectAllLinkB').each(function() {
var a = [];
var n = $("td.title_listing input:checked");
var s = "";
.....
.....
.....
});
是否有任何简单的方法可以为锚点按钮事件调用脚本? 等待快速和良好的反应。在此先感谢...
答案 0 :(得分:4)
你很亲密。选择器应为'#selectAllLink, #selectAllLinkB'
。
但是,您可能希望使用click
方法而不是each
来注册click事件,而不是在加载时设置href属性。现在,您将获得在加载页面时检查的复选框,而不是单击链接时的复选框。
答案 1 :(得分:1)
您已经遇到了使用不显眼的JavaScript来修改href的麻烦,甚至还有jQuery。没有理由使用这种方法
this.href = 'javascript:alert("Select at least one property to contact!");';
相反,您应该考虑使用更现代的事件注册方法:
$(function() {
$('#selectAllLink, #selectAllLinkB').click(function(e) {
var a = [];
$("td.title_listing input:checked").each(function() {
a.push(this.value);
});
if ( a.length ) {
this.href = "/D_ContactSeller.aspx?property=" + a.join(',');
} else {
e.preventDefault();
alert("Select at least one property to contact!");
return false;
}
});
});
答案 2 :(得分:0)
我会从id更改为类,所以类似于:
<script type="text/javascript">
$(function() {
$('.selectAllLink').each(function() { ...
}
}