2012-07-31 71 views
0

当我点击右箭头时,数组的下一个元素应该显示在输入区域中?当我点击右箭头时,如何更改值?

$(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

我喜欢火箭的答案超过我的。但是如果您觉得它有用,还有另外1种方法。

$(function(){ 
    var room = ['1-visiting office', '2-', '3-'];  
    var counter = 0; 
    $("#rightarrow").click(function(){  
     $('#text_holder').val(room[counter++]);  
    }).click(); 
}); 
5

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); 
    }); 
}); 

DEMO:http://jsfiddle.net/8Fc9w/

+1

你揍我一拳,所以我把你的代码放在一起jsFiddle,你用编辑打败了我。你做了与我不同的环绕,所以我回去修改我的jsFiddle,并且添加了一个你自己的! RAAAAEEEEGGGGGEEE! :p +1 – 2012-07-31 19:42:27

+1

@Chris:为什么人们会忘记我是忍者? – 2012-07-31 19:48:02

+0

更清洁的方式...喜欢它... + 1 – Jashwant 2012-07-31 19:50:05

相关问题