2012-07-31 70 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

相關問題