我被困在这里。 我有多个日期来自数据库通过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中执行此操作?
答案 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