现在要做的就是最多可以选择三个标签,选中的标签要在“选择标签”那一栏里面显示。
标签都是span元素,“选择标签”那一栏是个input。
这个效果该怎么实现呢?请教jquery高手 ,谢谢 ~
现在要做的就是最多可以选择三个标签,选中的标签要在“选择标签”那一栏里面显示。
标签都是span元素,“选择标签”那一栏是个input。
这个效果该怎么实现呢?请教jquery高手 ,谢谢 ~
大概要做这么几件事:
1.定义显示被选中的标签的函数
2.在每个标签上设置点击事件
在每次点击标签的时候,把当前的this标签传到1的函数里,append到input的value里。
这种插件自己写的话会很麻烦 建议直接用插件去实现
给你说两个吧 都是我经常用到的:
select2 和 flatui(前端UI框架)
我再简单描述一下自己写代码要怎么实现:
input框里肯定是要有CSS和JS来控制的
span标签添加点击事件,点击后加个display:none
的style(并不是删除 方便在input中点击移除后重新展现)。
假定span有个id叫sp1 input的id叫show,大概的思路是这样的:
$('#sp1').click(function(){
$(this).css('display','none');
//获取span中的值复制给input
$('#show').val($(this).html());
})
span中的值赋值给input久做好了,但是如果在input点击后取消显示就有一些复杂了,你需要定制一些样式,最起码input中的值可以点击并且触发事件。我就说这么多,起到抛砖引玉的作用。
3 回答1.7k 阅读✓ 已解决
5 回答790 阅读
2 回答2.5k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
假定你这些标签的数据都是从后端渲染的,那么就会有相应的id和值,假设页面渲染出来是这个效果
采用组件化的思想重新写一个
由于涉及到数据操作和this绑定,和underscore结合起来使用会比较好点,以上代码仅供参考!