在做一个编辑对话框时,要对里面带有select option的操作。主要是想动态加载option和对option的选中。但是由于项目中使用了jquery里的chosen()方法,怎么也无法实现效果。原码如下:
<select id="viewOLanguage" data-rel="chosen"> <option value="zh">简体中文(简体中文 Chinese)</option> <option value="en">English(英语 English)</option> <option value="fr">français(法语 French)</option> <option value="de">Deutsch(德语 German)</option> <option value="it">italiano(意大利语 Italian)</option> <option value="es">español(西班牙语 Spanish)</option> <option value="ru">русский(俄语 Russian)</option> <option value="ja">日本語(日语 Japanese)</option> <option value="ko">한국어(韩语 Korean)</option> </select> <select id="tLanguage" multiple="multiple" data-rel="chosen" style="width: 80%" > <option value="zh">简体中文(简体中文 Chinese)</option> <option value="en">English(英语 English)</option> <option value="fr">français(法语 French)</option> <option value="de">Deutsch(德语 German)</option> <option value="it">italiano(意大利语 Italian)</option> <option value="es">español(西班牙语 Spanish)</option> <option value="ru">русский(俄语 Russian)</option> <option value="ja">日本語(日语 Japanese)</option> <option value="ko">한국어(韩语 Korean)</option> </select>
在引用的js文件中使用了这样的代码:
//chosen - improves select $('[data-rel="chosen"],[rel="chosen"]').chosen();
然后在自己的私有js文件中怎么对select进行任何操作都没有效果:
// $("#viewTLanguage option: selected").attr("value", language); $("#viewTLanguage option[value='"+language+"']").attr("selected","selected"); jquery.append(option);
于是在网上寻找一些解决办法,偶然看了几篇文章,顿时好像明白一点什么。
其实完全可以在使用jquery的chosen()方法前进行操作,然后再进行chosen的方法。
$("#viewOLanguage option[value='"+oLanguage+"']").attr("selected","selected"); $("#viewOLanguage").chosen();
并且在select中去掉“data-rel="chosen"”,这样一来,就能实现select相应项的选中了,同样,append方法也会效果。
在网上还有一种说法是使用$("#jquery").chonse("destroy"),我也试了下,不过没有成功。
另外还可以试试这个:
jQuery Chosen.destroy().init()
重新实例化的方法。
ps:这篇文章之前有不完善的地方,所说的解决办法只解决了初始问题,却没有考虑到后续加载的事情。所以 ,还需要用这段代码:
$("#dialogOLanguage").trigger("liszt:updated");
或者是新版本的中的
$("#dialogOLanguage").trigger("chosen:updated");
这样可以解决同一select不断动态加载的问题。
另,destroy的方法还是没有实验成功。
相关推荐
这段代码在省份改变时,清空城市选择框,销毁Chosen实例,添加默认选项,通过AJAX获取新的城市数据并填充到选择框中,最后重新初始化Chosen。虽然代码稍显冗余,但目前没有更简洁的替代方案。 接下来,我们处理动态...
《Chosen jQuery插件:打造带搜索功能的智能下拉框》 在Web开发中,我们经常需要使用下拉框(select)来提供用户选择项。然而,原生的HTML `<select>` 元素功能相对有限,特别是在用户体验和交互性方面。为了提升...
ajax-chosen, 添加了ajax自动完成功能的jQuery库的补充 选择的... 选择向 select 元素添加搜索框,所以我觉得它可以在awesomely动态表单中添加ajax自动完成。这里脚本引导现有的插件,而不对原始代码进行任何修改。 最
4. **动态更新**:你可以动态添加或删除选项,Chosen会自动更新选择器的视图。 5. **响应式设计**:Chosen与Bootstrap等框架兼容,可以适应不同屏幕尺寸的设备,提供良好的移动体验。 6. **无障碍访问**:Chosen...
在jQuery中,可以使用`.change()`事件监听下拉框的选择变化,然后使用`.val()`获取选中的值,并根据这些值通过Ajax发送请求到服务器获取下一级别的数据。服务器返回数据后,使用jQuery的DOM操作方法,如`.append()`...
本文主要讲解了如何利用jQuery和Ajax技术实现网页中Select下拉框的多级关联动态绑定数据,即实现省份选择后城市下拉框动态更新的功能。通过实际的代码实例,详细说明了从后端数据库读取数据,并通过前端JavaScript...
3. **Select2插件**:`Select2`是另一个流行的插件,它的功能比Chosen更加强大,除了基本的搜索功能外,还支持远程数据加载和自定义模板。使用`Select2`也很简单,只需在`select`元素上添加`class="select2"`,然后...
在实际项目中,我们可以利用jQuery的事件监听功能,结合Bootstrap和Chosen,实现更复杂的功能,如下拉框的动态加载、联动效果等。例如,当用户在某个下拉框中做出选择时,可以触发Ajax请求,动态更新另一个下拉框的...
6. **数据绑定**:对于动态加载或大量的选项,jQuery可以与服务器进行异步通信(使用Ajax)来获取和更新<select>的内容,实现数据的实时同步。 在压缩包文件“132689881949981602”中,很可能包含了实现上述功能的...
为了改善原生Select的样式和交互体验,许多开发者制作了各种Select美化插件,如Select2、Chosen、Bootstrap Select等。这些插件不仅提供了丰富的主题和自定义样式,还支持搜索、多选、分页等功能。而"jQuery多级联动...
例如,我们可以通过`$('select')`选择所有的`select`元素,通过`$('option:selected')`选择当前被选中的`option`,这为后续的美化和功能添加提供了基础。 在美化方面,jQuery插件如`select2`或`chosen`是常见的解决...
综上所述,jQuery为操作HTML的`<select>`元素提供了强大的支持,无论是简单的选取和设置值,还是复杂的动态生成和事件处理,都能轻松应对。在实际项目中,结合这些技巧和工具,可以构建出更加友好和功能丰富的用户...
7. **易于整合**:它可以无缝集成到现有的jQuery或Prototype项目中,且支持数据绑定,如使用AJAX动态加载选项。 在压缩包文件`chosen_v0.14.0`中,可能包含了以下内容: 1. `chosen.css`:这是Chosen的样式文件,...
4. **jQuery插件**:有许多开源的jQuery插件专门用于美化select,如`select2`, `chosen`, `bootstrap-select`等。这些插件提供了丰富的功能和自定义选项,例如搜索、多选、分组等。以`select2`为例,引入插件并初始...
除了这个特定插件外,还有其他著名的jQuery Select美化插件,例如Chosen、Select2和Bootstrap Select等。这些插件提供了丰富的功能,如搜索过滤、多选、分组显示等,并且有完善的文档和社区支持。 总的来说,jQuery...
首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和Ajax交互,使得开发者能更高效地构建动态网页。在这个特定的案例中,我们将主要关注jQuery如何改变Select元素的外观和交互效果。 1. **jQuery ...
本教程将聚焦于jQuery如何操作HTML中的`<select>`元素,这在构建动态和交互式Web应用时是至关重要的。`<select>`元素通常用于创建下拉列表,用户可以从中选择一个或多个选项。 首先,让我们了解如何使用jQuery选择`...