input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

需求说明

        最近项目有一个需求,选择项目设计的系统,点击input框弹出一个弹框,弹框内是涉及的系统,点击勾选框后把已选择的系统展示在弹框内容顶部,如想撤销选择可在弹框上面已选处点击删除,或者直接取消勾选。确定好选择的系统后点击确定按钮,内容将显示在最开始的input框内,每一选择之间用逗号隔开,鼠标划过这个input框会有内容的title。说的比较繁琐,看图比较清晰。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

实现步骤

一、准备弹窗

         点击弹出弹框就不细说了,需要说明的是弹窗内所选择系统的html结构。

         下图是做原型时静态的HTML结构。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

    这是后台传真实数据的jsp

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

二、接下来就是重点内容,用js实现点击勾选框后把已选择的系统展示在弹框内容顶部,如想撤销选择可在弹框上面已选处点击删除,或者直接取消勾选框。

    首先,准备一个空的div在弹窗顶部,用于存放已选择的内容。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

    其次,实现上述功能的js思路及代码,其中核心就是如何将勾选框和上面的已选择的内容关联上(红框部分)。

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

三、点击确定按钮后将已选择的系统同步到一开始的input框中,内容用逗号隔开,鼠标划过时会有内容的title

    涉及系统的html

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。

    实现的js代码

input弹框多选,勾选input框,弹框内容顶部展示所选内容,取消勾选内容消失,点击已选内容的取消,相应的input框也会取消勾选。