我有一个jQuery函数,它接受一个参数(让我们说arg)是一个数字。
我还有一个按钮,可以在单击按钮时调用该功能。
如何通过每次点击使按钮调用具有增加的arg编号的功能?
E.g。第一个按钮单击调用myFunction(1)
,第二个按钮单击调用myFunction(2)
等
我希望按钮点击调用myFunction(arg)
,其中arg
是点击次数。
myFunction
本身不是一个计数器,它是自己的代码。
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);
}
我想在每次点击时调用sinAjax( click number+100 )
更新的代码:
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);
}
我遇到的问题是按钮只能工作一次,然后连续点击会给我相同的值。
答案 0 :(得分:0)
您有很多方法可以完成此任务:将增加的值存储到data-attr属性中,或者只是:
var counter = 0;
$(element).on('click', function() {
myFunction(counter++);
});
答案 1 :(得分:0)
将按钮的值设置为0(或使用数据atttribute),获取函数以获取按钮的值。,递增它,然后将值设置为新值。这样,无论是以编程方式还是通过点击触发函数都无关紧要 - 动作是相同的
$(document).ready(function(){
setValue();
$("#myButton").on('click',setValue)
})
function setValue(){
var val = parseInt($("#myButton").val());
var newVal = val += 1;
$("#myButton").val(newVal)
console.log("New Value is: " + newVal)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type ="button" value="0" id="myButton">Click Me</button>
答案 2 :(得分:0)
<button clickTime="1" onclick="myFunction(this.getAttribute('clickTime'),this)">遁地龙卷风</button>
function myFunction(time,target)
{
alert(time)
target.setAttribute('clickTime',+time+1)
}