Jquery DataTables 中的 Javascript 变量

发布于 2024-11-09 12:28:26 字数 631 浏览 0 评论 0原文

我不确定这个问题是与 Javascript 有关还是与 Jquery 有关。这看起来很简单,但我被困住了。

我正在尝试将 javascript 变量分配给 jquery DataTables 函数。

[script]
//Not working

var counter = 0;
function testfunction(){
doSomething();
counter++;        
}

$(function() {

var newId = "#table" + counter;

$(newId).live('dblclick', function () {
    alert("test");
});

});

[/script]

$("#table") 指的是我的 html 中的表 id。然而,这是行不通的。下面的版本可以代替。

[script]
//Working version

$(function() {

//var newId = "#table1"

$("#table1").live('dblclick', function () {
    alert("test");
});

});
[/script]

我该如何解决这个问题?谢谢。

I am not sure if this question relates to Javascript or more to Jquery. And it seems really simple but I am stuck.

I am trying to assign a javascript variable to a jquery DataTables function.

[script]
//Not working

var counter = 0;
function testfunction(){
doSomething();
counter++;        
}

$(function() {

var newId = "#table" + counter;

$(newId).live('dblclick', function () {
    alert("test");
});

});

[/script]

$("#table") refers to a table id in my html. However, this does not work. The below version works instead.

[script]
//Working version

$(function() {

//var newId = "#table1"

$("#table1").live('dblclick', function () {
    alert("test");
});

});
[/script]

How can I solve this problem? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

下壹個目標 2024-11-16 12:28:26

这很难说,但这是我修复它的尝试,请尝试下面

[script]
var counter = 1;
var newId = "#table" + counter;
$(function() {    

$(newId).live('dblclick', function () {
    alert("test");
});

});

[/script]

如果有效,那么这是因为您在本地使用变量,并且“实时”无法再访问该变量。您是否尝试过替代函数,例如 $(newId).click()。

Its quite difficult to say, but here is my attempt at fixing it, try below

[script]
var counter = 1;
var newId = "#table" + counter;
$(function() {    

$(newId).live('dblclick', function () {
    alert("test");
});

});

[/script]

If that works then it's because your using variables locally, and 'live' can no longer access the variable. have you tried an alternative function, like $(newId).click().

陌伤浅笑 2024-11-16 12:28:26

您永远不会调用 testfunction 来增加计数器变量。因此,newId 将具有值 table0 而不是 table1

您的代码应如下所示:

var counter = 0;
function testfunction(){
    doSomething();
    counter++;        
}

$(function() {

    testfunction(); //Call testfunction to increment the counter.

    var newId = "#table" + counter;

    $(newId).live('dblclick', function () {
        alert("test");
    });

});

这是一个有效的 JsFiddle 示例。

You never call testfunction to increment the counter variable. Therefore, newId will have the value table0 instead of table1.

Your code should look something like this:

var counter = 0;
function testfunction(){
    doSomething();
    counter++;        
}

$(function() {

    testfunction(); //Call testfunction to increment the counter.

    var newId = "#table" + counter;

    $(newId).live('dblclick', function () {
        alert("test");
    });

});

Here is a working JsFiddle example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文