Ich habe eine jQuery-Funktion, die ein Argument (sagen wir Arg) nimmt, das eine Zahl ist.Onclick ruft Funktion mit erhöhtem Argumentwert auf
Ich habe auch eine Schaltfläche, die die Funktion aufruft, wenn auf die Schaltfläche geklickt wird.
Wie bekomme ich die Schaltfläche, um die Funktion mit einer zunehmenden Arg-Zahl mit jedem Klick aufzurufen?
z. erste Schaltfläche klicken myFunction(1)
, zweite Schaltfläche klicken ruft ruft myFunction(2)
usw.
ich auf die Schaltfläche klicken myFunction(arg)
aufrufen wollen, wo arg
die Anzahl der Klick ist.
myFunction
selbst ist kein Zähler, es hat seinen eigenen Code.
html:
<button id='newData' value=0 onclick='sinAjax()'>New Data</button>
js:
$(document).ready(function()
{
setValue();
$('#newData').onclick('click', setValue);
});
function setValue()
{
var val = parseInt($('#newData').val());
var newVal = val +=100;
$('#newData').val(newVal);
}
Ich möchte sinAjax(click number+100)
auf jeder aufzurufen
Aktualisiert Code:
html:
<button id='newData' value=0 >New Data</button>
js:
$(document).ready(function() {
setValue();
$('#newData').click(function() {
sinAjax(val);
}) ;
}) ;
function setValue() {
val = parseInt($('#newData').val());
var newVal = val +=100;
$('#newData').val(newVal);
}
Das Problem, das ich mit Blick auf bin, ist, dass Sie die Taste nur einmal funktioniert, dann aufeinanderfolgende Klicks geben Sie mir die gleichen Werte.
Bitte zeigen Sie uns, was Sie versucht haben. Es wird erwartet, dass SO-Fragen [Suche und Forschung] (http://stackoverflow.com/help/dont-ask) – Praveen
in Bezug darauf zeigen, dass der bearbeitete Code aus dem Code stammt, den ich als Lösung gepostet habe, aber Sie haben ihn geändert. Es ist äußerst vorteilhaft, kein Inline-Skript zu haben (zB: den onclick, den Sie der Schaltfläche hinzugefügt haben), da Sie jQuery- und Event-Handler haben. Viel besser, die Funktion zu ändern, die ich hatte, und da es bereits einen Event-Handler gab, um die Funktion auszulösen - Sie brauchen den Inline-onclick-Handler nicht. – gavgrif
Die einzigen Änderungen, die an Ihrem ursprünglichen Code erforderlich sind, um ihn zum Laufen zu bringen, sind (a) den jQuery-Click-Handler richtig zu binden: '$ ('# newData') .click (setValue);' und dann (b) 'sinAjax (newVal) 'innerhalb Ihrer' setValue() 'Funktion und (c) entfernen Sie das inline' onclick' Attribut. – nnnnnn