Переменная Javascript в Jquery DataTables
Я не уверен, относится ли этот вопрос к 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. Однако это не работает. Ниже версия работает вместо.
[script]
//Working version
$(function() {
//var newId = "#table1"
$("#table1").live('dblclick', function () {
alert("test");
});
});
[/script]
Как я могу решить эту проблему? Благодарю.
2 ответа
Вы никогда не вызываете 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");
});
});
Это довольно сложно сказать, но вот моя попытка исправить это, попробуйте ниже
[script]
var counter = 1;
var newId = "#table" + counter;
$(function() {
$(newId).live('dblclick', function () {
alert("test");
});
});
[/script]
Если это работает, то это потому, что вы используете переменные локально, и "live" больше не может получить доступ к переменной. Вы пробовали альтернативную функцию, такую как $(newId).click().