jQuery适用于Chrome和Firefox,但不适用于IE
jQuery works in Chrome and firefox, but not IE
首先,为糟糕的标题道歉,但老实说,我对jQuery的了解还不够多,无法具体说明什么不起作用,其他类似标题的问题没有提供有效的解决方案。
我有以下代码,允许用户在不按住 ctrl 的情况下选择多个选项,正如标题所暗示的那样,除了在 IE 中(我目前正在使用 IE 11)之外,它工作正常。
function MultiSelect()
{
$('.select-toggle').each(function(){
var select = $(this), values = {};
$('option',select).each(function(i, option){
values[option.value] = option.selected;
}).click(function(event){
values[this.value] = !values[this.value];
$('option',select).each(function(i, option){
option.selected = values[option.value];
});
});
});
}
它正在从 html 选项框中调用
<script type="text/javascript">
$(document).ready(function() {
MultiSelect();
});
<script>
</head>
<body>
...
<tr>
<td colspan="2">
<label for="defendants">Defendant(s):</label>
<select class="select-toggle" name="people" id="people" multiple="multiple" >
<option value="John Smith">John Smith</option>
<option value="Julie Smith">Julie Smith</option>
</select>
</td>
</tr>
谢谢
IE浏览器不支持option
点击事件,需要在select
元素上添加事件,见下面的代码
$(document).ready(function() {
MultiSelect();
});
function MultiSelect()
{
$('.select-toggle').each(function(){
var select = $(this), values = {};
$('option',select).each(function(i, option){
values[option.value] = option.selected;
});
$(this).click(function(event){
values[this.value] = !values[this.value];
$('option',select).each(function(i, option){
option.selected = values[option.value];
});
});
});
}
演示
相关文章:
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- JavaScript不显示剩余字符,但适用于其他页面
- 我如何完善这个Javascript代码,使其只适用于来自图像的链接(而不是来自文本的链接)
- 为什么这只适用于身体部分而不是头部
- 为什么不't此正则表达式适用于重复出现的对
- document.getElementById 对内部 html 的调用适用于 $_POST 和 $_GET 变量,但不
- JavaScript 位置适用于本地主机而不是服务器
- Rally App SDK 2.0:Rallymultiobjectpicker,适用于不显示displayField的
- jQuery事件在Mozilla上不起作用,并且适用于其他浏览器
- Angular.js - 控制器不为索引执行,适用于其余模板
- D3 .on 更改适用于文本而不是图表
- Zillow 数据 - json_encode不起作用 - 适用于常规变量
- 弹出模式仅适用于表格中的第一个元素,第二次单击后不会再次打开
- Phonegap Android项目适用于模拟器,而不是实际的手机
- ajax jonp 不应该适用于 请求的上不存在“访问控制-允许源”标头
- AngularJS:ng-单击不起作用,适用于<按钮>
- Javascript不会在移动设备上加载.适用于桌面
- 为什么我的代码适用于高度:100px,而不是高度:100%
- 拖放区.js + Laravel-多文件上传不起作用(仅适用于一个文件)
- 哪些限制适用于不透明响应