2012-08-06 50 views
0

我有一個簡單的形式與4輸入,我需要動態地添加佔位符。如何使這個簡單的json工作在jQuery

我想我明白json的一般想法,但我不知道如何使這項工作。有人可以幫幫我嗎?

var inputArray = [ 
    {"inputClass":"name","placeholder":"Your Name*"}, 
    {"inputClass":"phone","placeholder":"Your Phone*"}, 
    {"inputClass":"email","placeholder":"Your Email*"}, 
    {"inputClass":"message","placeholder":"Your Message*"} 
]; 
$.each(inputArray, function(i, inputClass, placeholder) { 
    $('form').find('input.'+inputArray[i].inputClass).attr("placeholder", inputArray[i].placeholder); 
});​ 
+0

作品,但你並不需要的功能'(I,inputClass,佔位符)'但是'函數(我)' – 2012-08-06 06:04:53

+0

@ AlexBall對'.each()'回調的正確簽名是'function(index,element){...}'而'function(i){...}'只給出索引。 – Strelok 2012-08-06 06:14:38

+0

@Strelok好吧,但他只使用inputArray [i]索引來訪問價值...但確定,正確。 – 2012-08-06 06:24:37

回答

0

沒有錯,你的代碼,除了你的.each(...)回調簽名是有點不對勁。它應該是function(index,element) { ... }。但是你的代碼無論如何工作。清潔編寫代碼的方法是:

var inputArray = [ 
    {"inputClass":"name","placeholder":"Your Name*"}, 
    {"inputClass":"phone","placeholder":"Your Phone*"}, 
    {"inputClass":"email","placeholder":"Your Email*"}, 
    {"inputClass":"message","placeholder":"Your Message*"} 
]; 

$.each(inputArray, function(i, item) { 
    $('form').find('input.'+item.inputClass).attr("placeholder", item.placeholder); 
});​ 

工作小提琴:http://jsfiddle.net/RQAJA/

相關問題