`

Jquery chosen动态设置值 select Ajax动态加载数据 设置chosen和获取他们选中的值

 
阅读更多

  在做一个编辑对话框时,要对里面带有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的方法还是没有实验成功。

 

分享到:
评论
2 楼 lyyltt 2016-03-10  
你好 请问一下 jQuery Chosen  表单页有两个动态select时  表单验证失败后 填写的数据会被清空 ,如增加一个用户 给他关联的部门和权限角色是动态的列表,当前表单页的手机号不合法 弹出提示空 整个页面填写的数据被清空  但是去掉其中任一个select  他就没有问题
1 楼 qq171264 2016-01-26  
感谢分享,看了你的文章,问题解决了

相关推荐

    Jquery chosen动态设置值实例介绍

    这段代码在省份改变时,清空城市选择框,销毁Chosen实例,添加默认选项,通过AJAX获取新的城市数据并填充到选择框中,最后重新初始化Chosen。虽然代码稍显冗余,但目前没有更简洁的替代方案。 接下来,我们处理动态...

    chosen jquery带搜索的下拉框简单整理

    《Chosen jQuery插件:打造带搜索功能的智能下拉框》 在Web开发中,我们经常需要使用下拉框(select)来提供用户选择项。然而,原生的HTML `&lt;select&gt;` 元素功能相对有限,特别是在用户体验和交互性方面。为了提升...

    ajax-chosen, 添加了ajax自动完成功能的jQuery库的补充.zip

    ajax-chosen, 添加了ajax自动完成功能的jQuery库的补充 选择的... 选择向 select 元素添加搜索框,所以我觉得它可以在awesomely动态表单中添加ajax自动完成。这里脚本引导现有的插件,而不对原始代码进行任何修改。 最

    jquery chosen

    4. **动态更新**:你可以动态添加或删除选项,Chosen会自动更新选择器的视图。 5. **响应式设计**:Chosen与Bootstrap等框架兼容,可以适应不同屏幕尺寸的设备,提供良好的移动体验。 6. **无障碍访问**:Chosen...

    Jquery各种插件和JQuery Ajax三级联动地区下拉框 & 非Ajax实现三级联动

    在jQuery中,可以使用`.change()`事件监听下拉框的选择变化,然后使用`.val()`获取选中的值,并根据这些值通过Ajax发送请求到服务器获取下一级别的数据。服务器返回数据后,使用jQuery的DOM操作方法,如`.append()`...

    jQuery Ajax实现Select多级关联动态绑定数据的实例代码

    本文主要讲解了如何利用jQuery和Ajax技术实现网页中Select下拉框的多级关联动态绑定数据,即实现省份选择后城市下拉框动态更新的功能。通过实际的代码实例,详细说明了从后端数据库读取数据,并通过前端JavaScript...

    jquery select下拉菜单美化搜索框样式代码

    3. **Select2插件**:`Select2`是另一个流行的插件,它的功能比Chosen更加强大,除了基本的搜索功能外,还支持远程数据加载和自定义模板。使用`Select2`也很简单,只需在`select`元素上添加`class="select2"`,然后...

    jQuery Bootstrap和chosen集成下拉框插件特效.zip

    在实际项目中,我们可以利用jQuery的事件监听功能,结合Bootstrap和Chosen,实现更复杂的功能,如下拉框的动态加载、联动效果等。例如,当用户在某个下拉框中做出选择时,可以触发Ajax请求,动态更新另一个下拉框的...

    jquery实现的select列表选择框选中美化效果源码.zip

    6. **数据绑定**:对于动态加载或大量的选项,jQuery可以与服务器进行异步通信(使用Ajax)来获取和更新&lt;select&gt;的内容,实现数据的实时同步。 在压缩包文件“132689881949981602”中,很可能包含了实现上述功能的...

    jQuery多级联动美化版Select下拉框插件.zip

    为了改善原生Select的样式和交互体验,许多开发者制作了各种Select美化插件,如Select2、Chosen、Bootstrap Select等。这些插件不仅提供了丰富的主题和自定义样式,还支持搜索、多选、分页等功能。而"jQuery多级联动...

    用jquery做得select

    例如,我们可以通过`$('select')`选择所有的`select`元素,通过`$('option:selected')`选择当前被选中的`option`,这为后续的美化和功能添加提供了基础。 在美化方面,jQuery插件如`select2`或`chosen`是常见的解决...

    JQuery操作select的实例代码

    综上所述,jQuery为操作HTML的`&lt;select&gt;`元素提供了强大的支持,无论是简单的选取和设置值,还是复杂的动态生成和事件处理,都能轻松应对。在实际项目中,结合这些技巧和工具,可以构建出更加友好和功能丰富的用户...

    chosen下拉多选

    7. **易于整合**:它可以无缝集成到现有的jQuery或Prototype项目中,且支持数据绑定,如使用AJAX动态加载选项。 在压缩包文件`chosen_v0.14.0`中,可能包含了以下内容: 1. `chosen.css`:这是Chosen的样式文件,...

    jQuery美化select下拉框

    4. **jQuery插件**:有许多开源的jQuery插件专门用于美化select,如`select2`, `chosen`, `bootstrap-select`等。这些插件提供了丰富的功能和自定义选项,例如搜索、多选、分组等。以`select2`为例,引入插件并初始...

    jquery select美化插件

    除了这个特定插件外,还有其他著名的jQuery Select美化插件,例如Chosen、Select2和Bootstrap Select等。这些插件提供了丰富的功能,如搜索过滤、多选、分组显示等,并且有完善的文档和社区支持。 总的来说,jQuery...

    jQuery Select下拉框美化代码.zip

    首先,jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和Ajax交互,使得开发者能更高效地构建动态网页。在这个特定的案例中,我们将主要关注jQuery如何改变Select元素的外观和交互效果。 1. **jQuery ...

    JQuery对select的操作(01).zip

    本教程将聚焦于jQuery如何操作HTML中的`&lt;select&gt;`元素,这在构建动态和交互式Web应用时是至关重要的。`&lt;select&gt;`元素通常用于创建下拉列表,用户可以从中选择一个或多个选项。 首先,让我们了解如何使用jQuery选择`...

Global site tag (gtag.js) - Google Analytics