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

但它没有用。

4

2 回答 2

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;
}
于 2013-04-03T19:07:11.347 回答
0

var dates_allowed1 应该是 var dates_allowed

另外,你想去掉单引号还是保留它们?

于 2013-04-03T19:11:15.090 回答