2016-11-27 2 views
2

Hier ist die PHP und HTML:Die Übergabe der Nummer von der HTML- zur JS-Funktion wird in JS "undefiniert". Warum?

<?php $rowCountInDataTable=600; ?> 
... 
<button onclick="<?php echo "showNextRows($rowCountInDataTable)"; ?>"></button>; 

Hier ist die JS:

function showNextRows(totalRowCount) { 
    alert("button clicked");//check 
    alert("Total row count: " . totalRowCount);//check 
    console.log("Total row count: " . totalRowCount);//check 
    ... 
} 

Sowohl alert und console.log Druck undefined. Die Frage ist warum? und was kann ich tun, um den richtigen Wert in JS zu erhalten, der 600 ist.

Antwort

7

Im Gegensatz zu PHP ist in JavaSript der Verkettungsoperator +, nicht ., wie Sie geschrieben haben.

Ändern Sie die Punkte zu Plus. d.h .:

alert("Total row count: " + totalRowCount); //check 
0

Sie können diesen Ansatz und nur Ihre Zeilenanzahl als Datenattribut zuweisen auf die Schaltfläche dann jQuery verwenden Sie es zu greifen, wenn die Schaltfläche geklickt wird.

PHP/HTML:

<?php $rowCountInDataTable=600; ?> 
... 
<button class="row-count-button" data-row-count="<?= $rowCountInDataTable ?>"></button> 

Javascript:

$('button.row-count-button').on('click', function() { 
    var totalRowCount = $(this).data('row-count-button'); 
    alert("button clicked");//check 
    alert("Total row count: " + totalRowCount);//check 
    console.log("Total row count: " + totalRowCount);//check 
}); 
+0

Es ist immer noch ein Problem mit dem Javascript. –

+0

Was meinst du? –

+0

Nun, Sie verwenden "." Anstelle von "+" zwischen den Zeichenfolgen im Protokoll und Alarm –

Verwandte Themen