我正在构建我的几乎第一个JavaScript应用程序。我试图获得多个旋转器,如:
+ [0] -
+ [3] -
+ [0] -
我有以下代码来添加和减去旋转器值:
$('#plus').unbind('click').bind('click', function() {
var value = $('#number').val();
value++;
$('#number').val(value);
});
$('#minus').unbind('click').bind('click', function() {
var value = $('#number').val();
if (value > 0) value--;
$('#number').val(value);
});
和以下转轮标记:
<div data-role="controlgroup" data-type="horizontal" data-mini="true">
<p><button id="plus" data-inline="true"> +</button>
<input type="text" id="number" value="0" disabled="disabled" />
<button id="minus" data-inline="true">-</button></p>
</div>
然而,我不明白如何将旋转器的标识符传递给加/减函数,即我不想编写多个加/减函数,每个旋转器一个。
感谢所有的帮助!
你可以这样做:
$('.plus').unbind('click').bind('click', function() {
var numberControl = $(this).parent().find('.number'), value = numberControl.val();
value++;
numberControl.val(value);
});
$('.minus').unbind('click').bind('click', function() {
var numberControl = $(this).parent().find('.number'), value = numberControl.val();
if (value > 0) value--;
numberControl.val(value);
});
JsFiddle例子:
http://jsfiddle.net/8C8c8/4/- 对于当前点击的按钮(在本例中为
this
),转到parent()
和find()
类型为input
的子按钮 - 使用找到的元素获取/设置
val
我建议您使用class
而不是id
,如果您的元素将存在超过1次。如果元素在HTML中只存在一次,则使用id
。如果它将多次存在,那么你应该使用class
.