当我点击右箭头时,如何更改值?
问题描述:
当我点击右箭头时,数组的下一个元素应该显示在输入区域中?当我点击右箭头时,如何更改值?
$(function(){
var room = ['1-visiting office', '2-', '3-'];
$('#text_holder').val(room[0]);
$("#rightarrow").click(function(){
$('#text_holder').val(room[next]);
});
});
这是我的html代码
<input id="text_holder" name="text_holder"/>
<img src="dev/images/rightarrow.jpg" id="rightarrow" />
答
我喜欢火箭的答案超过我的。但是如果您觉得它有用,还有另外1种方法。
$(function(){
var room = ['1-visiting office', '2-', '3-'];
var counter = 0;
$("#rightarrow").click(function(){
$('#text_holder').val(room[counter++]);
}).click();
});
答
Array的没有next
功能什么的,你需要跟踪计数器自己。
这是一种方法,使用jQuery的data
将计数器存储在按钮上。
$(function(){
var room = ['1-visiting office', '2-', '3-'];
$('#text_holder').val(room[0]);
$("#rightarrow").data('counter', 0).click(function(){
var counter = $(this).data('counter')+1;
$('#text_holder').val(room[counter]);
$(this).data('counter', counter);
});
});
如果你击球结束后要循环再次周围,你可以使用%
(模数)运算符。
$(function(){
var room = ['1-visiting office', '2-', '3-'];
$('#text_holder').val(room[0]);
$("#rightarrow").data('counter', 0).click(function(){
var counter = ($(this).data('counter')+1) % room.length;
$('#text_holder').val(room[counter]);
$(this).data('counter', counter);
});
});
你揍我一拳,所以我把你的代码放在一起jsFiddle,你用编辑打败了我。你做了与我不同的环绕,所以我回去修改我的jsFiddle,并且添加了一个你自己的! RAAAAEEEEGGGGGEEE! :p +1 – 2012-07-31 19:42:27
@Chris:为什么人们会忘记我是忍者? – 2012-07-31 19:48:02
更清洁的方式...喜欢它... + 1 – Jashwant 2012-07-31 19:50:05