<div id="demo1" class="xm-select-demo h2"></div>
//动态标签下拉创建
var demo1 = xmSelect.render({
el: '#demo1',
autoRow: true,
data: []
});
//动态标签下拉赋值
$.ajax({`在这里插入代码片`
url:"/blog_tag/findAllbyId",
type:"post",
data:{
id:getQueryString("id")
},
success:function(res){
demo1.update({
data: res.data,
filterable: true,
})
}
});
后端
@RequestMapping("/findAllbyId")
public Object findAllbyId(int id) {
Map<String, Object> map= new HashMap<>();//返回格式
map.put("code",0);
map.put("msg", "success");
List<blog_tag> findAll = blog_tagService.findAllBydeleted();//查询所有标签
List<blog> findByid = blog_service.findBlogByid(id);//查询博客贴上的标签
List<String> list = Ids(findByid.get(0).getBlog_tags());//将博客贴上的标签根据,切成list
ArrayList<Object> arrayList = new ArrayList<>();
for (int i = 0; i < findAll.size(); i++) {
Select select = new Select();
select.setName(findAll.get(i).getTag_name());
select.setValue(findAll.get(i).getTag_name());
for (int j = 0; j < list.size(); j++) {
if (findAll.get(i).getTag_name().equals(list.get(j))) {
select.setSelected(true);
}
}
arrayList.add(select);
}
map.put("data", arrayList);
System.out.println(map);
return map;
};
总之返回格式是这样的
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Select {
private String name;
private Object value;
private boolean selected =false;
}
效果就是这样的
这是动态下拉的js
https://gitee.com/maplemei/xm-select