У меня есть JavaScript, который в основном выглядит следующим образом:
function a() {
b(1);
}
function b(myNumber) {
c(myNumber);
}
function c(myNumber) {
var calculation = 5 * (myNumber - 1);
alert(calculation);
}
Когда я вызываю функцию a()
, окно предупреждения заканчивается сообщением «NaN».Почему это происходит?Я пытался использовать функцию parseInt()
в нескольких местах, но, похоже, ничего не работает.
РЕДАКТИРОВАТЬ
Полный код (что на самом деле делается, а не урезанный пример):
function updateTablePagination(tableId, rowsPerPageSelectId) {
updateTablePagination(tableId, rowsPerPageSelectId, 1);
}
function updateTablePagination(tableId, rowsPerPageSelectId, pageNumber) {
var table = document.getElementById(tableId);
var rowsPerPageSelect = document.getElementById(rowsPerPageSelectId);
var rowsPerPage = rowsPerPageSelect.options[rowsPerPageSelect.selectedIndex].text;
updateTable(table, rowsPerPage, pageNumber);
//updateTablePageLinks();
}
function updateTable(table, rowsPerPage, pageNumber) {
var tableRows = table.getElementsByTagName("tr");
var totalNumberOfRows = tableRows.length;
var startRow = rowsPerPage * (pageNumber - 1);
var endRow = Math.min(startRow + rowsPerPage, totalNumberOfRows - 1);
alert("Start: " + startRow + "\nEnd: " + endRow);
}
В поле выбора есть onchange
, вызывающий updateTablePagination('myTableId', 'rowsPerPage')
.Оба идентификатора верны.
"Начало" и "Конец" оба NaN.
Редактировать 2
В качестве альтернативы, если я просто сделаю alert(pageNumber)
, это не определено.
Упрощенный
Даже это говорит о том, что pageNumber
не определено:
function updateTablePagination(tableId, rowsPerPageSelectId) {
updateTablePagination(tableId, rowsPerPageSelectId, 1);
}
function updateTablePagination(tableId, rowsPerPageSelectId, pageNumber) {
alert(pageNumber);
}