我是jquery的新手,并且在调用多个函数实例时遇到问题。
我有一个功能
$('#open_dialog').click(function(){
$("#dialog").dialog("open");
return false;
});
要调用此函数,我有一个带有id标记名为open_dialog的href链接。显然,如果它是引用该功能的页面上的唯一链接(一对一的关系),那么这种方法很有用。但是,我想要(多对一的关系)。
我有一个包含25条记录的表格,我要求每条记录都有一个链接,该链接将调用open_dialog函数我知道所有的id都不能被称为open_dialog,因为它们必须是唯一的,因此我如何访问函数,同时传递我的25条记录中的哪一条正在实例化该函数的值。
顺便说一句,我的记录是动态的,因此$('#open_dialog,open_dialog2,open_dialog3,...')不实用。
感谢您查看我的帖子
答案 0 :(得分:12)
而不是使用唯一ID,您可以在商品上使用类,然后使用
$('.classname').click(function()
{
// 'this' would reference the anchor that was clicked
$("#dialog").dialog("open");
return false;
});
另外,您可以向锚添加另一个属性,即
<a href="#" class="classname" record="14">Record 14</a>
然后在你的功能中你可以拥有
var record = $(this).attr("record");
record
现在包含14。
答案 1 :(得分:0)
您可以使用 class 而不是 id :
$('.open_dialog').click(function(){
$('#dialog').dialog("open");
return false;
});
答案 2 :(得分:0)
您可以使用类选择器而不是ID选择器。
将相同的课程应用于您的每个链接......让我们说'openDialog'
<a class='openDialog' href='your link here'>Your text here</a>
在jQuery中,你会改变你拥有的东西......
$('.openDialog').click(function(){
$("#dialog").dialog("open");
return false;
});
我对你使用“#dialog”id引用的内容感到困惑。你没有真正解释上面的内容......或者至少我没有得到它。如果你这样做的话。
如果记录集中有任何值,你需要传入onclick函数,你可以设置每个锚标记的id(假设这些值是唯一的)为你需要传递的值,然后在代码中引用它们就像这样...(我已将链接的id存储在名为rec_no的变量中......
$('.openDialog').click(function(){
var rec_no = $(this).attr("id");
$("#dialog").dialog("open");
return false;
});
答案 3 :(得分:0)
忘掉其他人正在谈论的所有这些class
废话。只有你必须使用它(如果没有必要,为什么要在标记中添加膨胀?)。既然你说你的链接在表格中,你就可以得到表格中的所有链接......
$("table a").click(function() { ... });
或者如果您的表上有ID ...
$("#tableId a").click(function() { ... });
在点击事件中获取您的记录ID也很容易。取决于它所在的列。这将提醒表格中第一列的值(在点击事件中)......
var id = $(this).parent().siblings("td:eq(0)").text();
alert(id);
答案 4 :(得分:0)
我假设dialog
函数需要知道你所指的是哪条记录。您需要为HTML中的记录输出某种id。 E.g。
<a class="open_dialog" id="record1"></a>
然后修改dialog
函数以接受记录的id作为参数,并像这样传递:
$('.open_dialog').click(function(){
$("#dialog").dialog("open", $(this).id);
return false;
});
dialog
是你的一个函数,还是内置于jQuery的东西?
答案 5 :(得分:0)
代码:
$('#msgTextarea,#addmsg').keyup(function () {
var thetext = $(this).val();
if (thetext.length > 500) {
$('#okbtn,#btnOk').attr('disabled', 'disabled');
} else {
$('#okbtn,#btnOk').removeAttr('disabled');
}
})