MaterialiseCSS从数据库设置芯片

时间:2017-01-24 07:42:31

标签: javascript php jquery html materialize

我被困在这里。 我有多个日期来自数据库通过ajax调用,它们是字符串的形式,由像这样的管道,

var dates = $('#pm_date').val(responseData.site_detail["PM_Date"])
//  result > dates = "2016-03-01|2017-05-02|2016-06-13" 

日期的数量可能有所不同,我对此没有任何控制。

我希望将这些日期显示为物化css中的筹码。我已将日期拆分为数组,现在我想将它们传递给此函数

$('.chips-initial').material_chip({
    data: [{
      tag: 'Apple',
    }, {
      tag: 'Microsoft',
    }, {
      tag: 'Google',
    }],
  });

如果是在php中,我可以这样做

$('.chips-initial').material_chip({
    data: [{

    <?php 

     for($i=0; $i<count($dates); $i++ ) {   
      echo "{ tag :" . $date[$i] .",},"; 
      }

   ?>
    }],
  });

如何在java-script或JQuery中执行此操作?

1 个答案:

答案 0 :(得分:0)

有多种方法可以满足您的需求。我尝试用es2105的方式用两个例子来做,最后一个是旧的方式。希望能帮助到你。

// Option 1 (es2015 way)

let tags = [];
const dates = ["2016-03-01" , "2017-05-02", "2016-06-13"];

tags = dates.reduce((coll, item) => {
  coll.push({
    tag: item
  });
  return coll;
}, tags);


// Option 2 (es2015 way)

let tags2 = [];

for(d of dates) {
  tags2.push({tag: d});
}

// Option 3 (the old way)
var tags3 = [];
var dates3 = ["2016-03-01" , "2017-05-02", "2016-06-13"];

for(i=0; i < dates3.length; i++) {
  tags3.push({tag: dates3[i]});
}

// result 3

$('.chips-initial').material_chip({
    data: tags3
});

Jsbin Example code