2013-04-03 126 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

另外,你想剥去单引号或离开它们吗?

相关问题