2014-11-20 3 views
0

Когда я добавляю функцию щелчка в ячейку в конце определенной строки, jQuery добавляет функцию щелчка ко всем строкам. Что мне здесь не хватает, пожалуйста?Невозможно добавить только одну строку таблицы

og_rownum имеет равное число 3, а не строку, а столбец nth-child (8) существует в таблице.

$("#game_lister_table tr:eq("+og_rownum+"), :nth-child(8)").click(function(e){ 
    alert('here'); 
    e.stopPropagation(); 
}); 

Заранее спасибо ....

+3

Это поможет, если вы включили соответствующий HTML-код. И я предполагаю, что часть с запятой не делает то, что вы думаете. – forgivenson

+0

Нет, я этого не осознавал, но это, очевидно, часть моей проблемы. Как я могу ограничить его только одной строкой/столбцом в моей таблице? – george

+0

Удалить запятую ',' из селектора. –

ответ

0

Похоже, что вы хотите добавить слушателя только один ряд на вашем столе. Если это случай, просто добавьте id = "yourID" в тег, который вы хотите манипулировать.

Затем в JQuery, выберите его с

$('#yourID').click(function(e){ 
//code here 
}); 

Если вы не знаете, какие строки нужно манипулировать, и вы хотите, чтобы выбрать его программно, то попробуйте это.

$("#game_lister_table tr").click(function(e){ 
    $(this)...//selects the row that was clicked 
}) 
+0

Привет Эрик - спасибо, но у меня нет идентификатора для каждой строки, столбца или ячейки в моей таблице и нужно параметризовать привязку. У меня есть другие требования, которые потребуют от меня параметризировать nth-child(). – george

0

Я привык к этому коду при выборе конкретных клеток/клеток в HTML таблице Как Вы

$("#game_lister_table tr:eq("+og_rownum+"), :nth-child(8)").click(function(e){ 
    alert('here'); 
    e.stopPropagation(); 
}); 

Но я обнаружил, есть простой путь для создания Динамическая Id для ячейки каждый раз, когда вы создаете строки или ячейки у вас есть простой способ использовать JQuery селектор для любых (строк, ячеек, .... и т.д.)

var table = document.getElementById("myTable"); 
var rowIndex =table.rows.length; 
var row = table.insertRow(); 
var cell1 = row.insertCell(0); 
cell1.id="whatEver"; 
cell1.innerHTML = "<input type="text" id="txt'+rowIndex+'" />"; 

тогда ваше действие пришло следующий

$('#ID').on('click',function(e){}); 
+0

Привет .. У Spooky был рабочий код. Спасибо всем, кто ответил. – george

0

Поскольку ближайший ответ был удален, я добавлю это.

Используйте "#game_lister_table tr:eq("+og_rownum+") td:nth-child(8)", чтобы выбрать элемент, который вы описали.

Смежные вопросы