2013-04-03 104 views
0

的字符串值的對象,我也有類似的輸入隱藏字段: -創建從輸入字段

< input type="hidden" name="dateRange" id="dateRange" value="'2013-04-03','2013-04-04','2013-04-05','2013-04-10'"/> 

我需要在使用該輸入字段的值在JavaScript中創建對象。如: -

var dates_allowed = { 
     '2013-04-03': 1, 
     '2013-04-04': 1, 
     '2013-04-05': 1, 
     '2013-04-10': 1, 
}; 

我嘗試了以下;

var dateRange=document.getElementById("dateRange").value; 
var dates_allowed_Array = dateRange.split(","); 
var dates_allowed1 = {}; 
for (i=0; i<dates_allowed_Array.length;i++) { 
    var innerloop = dates_allowed_Array[i] ; 
    dates_allowed[innerloop]=1; 
    } 

但它沒有工作。

+0

請解釋_「它沒有工作。」_您是否在控制檯中看到任何錯誤? – Mathletics 2013-04-03 19:05:43

+1

'var dates_allowed1 = {};'這裏的錯字? – Dogbert 2013-04-03 19:05:46

回答

1

我想你只是有一個錯字。你宣佈dates_allowed1但隨後使用dates_allowed

當我固定的,它工作得很好,你可以通過這個小提琴看到:http://jsfiddle.net/9Gfj2/

固定碼:

var dateRange=document.getElementById("dateRange").value; 
var dates_allowed_Array = dateRange.split(","); 
var dates_allowed = {}; 
for (i=0; i<dates_allowed_Array.length;i++) { 
    var innerloop = dates_allowed_Array[i] ; 
    dates_allowed[innerloop]=1; 
} 
+0

我剛剛爲這個演示做了一個小提琴,但你打敗了我的答案。 Upvoted。 @ user2241885我不清楚爲什麼要將數組更改爲對象 - 只需使用該數組,因爲您具有相同的值。 – helion3 2013-04-03 19:09:27

0

VAR dates_allowed1應該是無功dates_allowed

另外,你想剝去單引號或離開它們嗎?