jquery有很多插件,比如jquery.multiselect.js(多选下拉框),使用的时候非常便捷,但有的时候你遇到问题,可能非常难解决(今天解决这个问题弄了将近2个小时),一般情况下解决问题的思路可能如下:
(1)百度搜索,去寻找解决方案(自从有了爬虫这个东西,答案就泛滥了,几乎是千篇一律,原创的东西越来越少)
(2)通过F12调试,分析出原因
(3)但是如果还是解决不了,这个时候你必须要看源码。
需求:在初次加载的时候,给multiselect设置多个值。
在网上找了N多的答案,几乎是千篇一律:
(1)我自己封装了一个方法,就是给multiselect设置一个数组的值,然后刷新一下
function multiselectRefreshWithValues(multiselectId,vals) {
$("#"+multiselectId).multiselect({
checkAllText: "全选",
uncheckAllText: "全不选",
noneSelectedText: "==请选择==",
selectedList: 100
});
$("#"+multiselectId).val(vals);
$("#"+multiselectId).multiselect("refresh");
}
这种方案只能显示一个值,真的找不到原因,
然后我就F12了,发现我们本身的select全部是隐藏掉的,然后multiselect自己生成了很多的ul li label input等等,这个时候我就想 我可以自己拼装出 input的id,然后调用 click事件,然后在刷新。
var multiselectName = "multiselect_"+multiselectId;
$("input[name='"+multiselectName+"']").each(function(){
if(vals.contains($(this).val())) {
$(this).attr("aria-selected",true);
}
})
通过这种方案,完全可以设置 input的aria-selected的属性,但是显示的时候,什么也没有了。
最后逼到没有办法了,看源码:
(1)刷新的时候有很多的属性,可以设置,这个时候设置multiple=true,问题全部搞定
- 浏览: 139900 次
- 性别:
- 来自: 南京
-
最新评论
-
liyonghui160com:
请问 redis的结构是什么样的?
利用Redis构建自定义标签(2) -
toknowme:
lisaiori 写道// synchronized (Tes ...
synchronized的使用 -
lisaiori:
// synchronized (TestThread.num ...
synchronized的使用 -
dkpenl:
asfds
Learn IntelliJIDEA (02) -
toknowme:
老兄!你这是两个不同的线程,不同的SynchronizedCo ...
synchronized的使用
相关推荐
在实现动态加载选项时,要注意确保多选框已经初始化,并根据官方文档正确使用API。例如,第一种方法中,多选框需要预先存在,然后再填充选项;而在第二种方法中,需要构建一个合适的数据结构供`dataprovider`方法...
通过jQuery脚本,初始化并渲染多选下拉框。脚本中使用了`multiselect()`方法,这是jquery.multiselect插件提供的方法。通过传入一个对象参数,可以设置一些选项,如未选择时的提示文本`noneSelectedText`、全选按钮...
- 实际上,这段代码并没有显式初始化每一个元素,但Java会在创建数组时自动为每个数组元素分配内存空间,并将它们初始化为`null`。对于引用类型,这意味着每个数组元素都将指向`null`。 - 因此,虽然实际创建的对象...
9. 变量初始化:数值型变量在未赋值时,默认值通常是0。 10. 列表框操作:在Access中,要实现多选功能,需要将列表框的Multiselect属性设置为2(多选模式)。 11. 控件属性:设置控件对象的Enabled属性为False,...
2. **初始化ListView控件**: 在代码中创建ListView实例,并设置其属性以满足数据记录的显示需求。例如,设置`GridLines=True`以显示列之间的分隔线,`FullRowSelect=True`确保选中时会选中整个行,`View=View....
12. **构造函数**:在面向对象编程中,构造函数允许初始化对象,其名称可以与类名相同。 13. **指针运算**:在C++中,给定数组`double a[10]`和指针`s=a`,访问`a[3]`的正确方式是`*(s+3)`。 14. **端口号**:在...
5. 窗体加载时,首先触发的事件是Load事件,这是窗体初始化时执行的事件。 6. 若要在列表框中启用多选功能,需将Multiselect属性设置为3,表示允许连续选择(Shift键)和多重选择(Ctrl键)。 7. C语言程序中,当...
4. 在MainWindow.xaml.cs文件中,初始化VlcControl并定义打开文件、暂停和停止的事件处理函数: ```csharp public partial class MainWindow : Window { private string filePath; public MainWindow() { ...
12. **Load事件**:启动窗体时,通常会触发Load事件,加载窗体及其初始化设置。 13. **事件驱动编程**:VB采用事件驱动模型,即程序响应用户的操作或系统事件来运行。 14. **即时查看效果**:VB支持实时查看代码...
- `WindowState` 属性用于控制窗体的初始显示状态,可以设置为: - `WindowState.Normal`:正常大小。 - `WindowState.Maximized`:最大化。 - `WindowState.Minimized`:最小化。 - 若要使得窗体一启动就充满...
45. 赋值语句将表达式的结果转换为相同类型后赋值给变量或属性。 46. 使用DIM定义的数值变量默认初始化为0。 47. 计算表达式的顺序是:算术运算>关系运算>逻辑运算>函数运算,不是函数运算在最前面。 48. Double...
- **说明**: 用于检查变量是否为空或未初始化。 #### 18. AutoSize属性 - **功能**: 控制标签的大小是否自动调整以适应内容。 - **说明**: 开启后,标签大小会根据其内容自动扩展或收缩。 #### 19. ...
7.7.2. 对象初始化 7.7.3. 派遣前后的钩子 7.7.4. 访问器 7.7.5. 视图集成 7.7.5.1. 视图初始化 7.7.5.2. 解析(Rendering)视图 7.7.6. 实用方法 7.7.7. 继承(Subclassing)动作控制器 7.8. 动作助手 ...