HTML多选下拉框Chosen插件失效,求PHP页面解决方案
让Chosen多选下拉插件正常工作的解决方法
- 添加插件初始化代码
你漏掉了触发Chosen生效的核心初始化脚本,必须添加以下代码来激活插件:
$(".chosen-select").chosen({ no_results_text: "Oops, nothing found!" })
- 严格遵循脚本加载顺序
脚本和样式的加载顺序必须正确,否则会因依赖未加载导致插件失效,正确顺序是:
- 引入Chosen的CSS样式文件
- 引入jQuery库
- 引入Chosen的jQuery插件脚本
- 执行插件初始化代码(最好包裹在
$(document).ready()中,确保DOM加载完成后再执行)
以下是完整的可运行代码示例:
<link href="https://cdn.rawgit.com/harvesthq/chosen/gh-pages/chosen.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.rawgit.com/harvesthq/chosen/gh-pages/chosen.jquery.min.js"></script> <script> // 确保DOM加载完成后初始化插件 $(document).ready(function() { $(".chosen-select").chosen({ no_results_text: "Oops, nothing found!" }); }); </script> <form action="http://httpbin.org/post" method="post"> <select data-placeholder="Begin typing a name to filter..." multiple class="chosen-select" name="test"> <option value=""></option> <option>American Black Bear</option> <option>Asiatic Black Bear</option> <option>Brown Bear</option> <option>Giant Panda</option> <option>Sloth Bear</option> <option>Sun Bear</option> <option>Polar Bear</option> <option>Spectacled Bear</option> </select> <input type="submit"> </form>
你的原生下拉框问题本质是没有执行插件初始化逻辑,Chosen不会自动识别带有chosen-select类的元素,必须通过调用.chosen()方法来完成原生元素到插件样式的转换。
内容的提问来源于stack exchange,提问作者JoseTheChamp
相关产品推荐
相关产品推荐

