如何在 IE11 中不使用 Ctrl 键使用 jQuery 或 js 获取多个选定选项
How to to get multiple selected options with jQuery or js without using the Ctrl Key, in IE11
我需要有关 IE 11 和 jQuery 的帮助,以获取 selected 选项。 (它在 Edge 中运行良好。)
我在这里和其他地方尝试了很多链接,但都没有成功。
更新如果我删除函数.mousedown,那么onchange 函数会按预期工作。
所以接下来的问题是如何在通过 ajax.
发回之前累积所有 select 离子(不使用 Ctrl 键)
它也不显示 IE11 中的复选框,但这是另一个问题。
提前致谢。
标记:
<style>
option:before {
content: "☐ "
}
option:checked:before {
content: "☑ "
}
<select class="ddlRole" id="ddlRole" style="width:810px" size="6" multiple="">
<option value="1">Administrator</option>
<option value="2">Manager</option>
<option value="3">User</option>
<option value="8">new role test 5</option>
</select>
jQuery:
此 mousedown 函数允许用户 select 列表中的多个选项
$("#ddlRole").mousedown(function (e)
{
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () { select.scrollTop = scroll; }, 0);
$(select).focus();
$("#ddlRole").trigger("change");
}).mousemove(function (e) { e.preventDefault() });
$('#ddlRole').on('change', function ()
{
// Works in Edge but not IE11
var selectedValue = $("#ddlRole").find('option:selected').val();
alert("try .." + selectedValue);
});
当我们使用F12开发者工具查看Html和CSS样式时,可以看到内容不可用。
似乎 CSS 内容样式在 IE 浏览器的 select 元素中不起作用。
作为解决方法,我建议您可以将 select 元素更改为 CheckBox 列表。然后,附上复选框列表容器的mousedown函数和复选框变化事件。
此外,您也可以尝试使用BootStrap多个selected插件在select选项中添加复选框。喜欢 this thread
中的示例
我需要有关 IE 11 和 jQuery 的帮助,以获取 selected 选项。 (它在 Edge 中运行良好。) 我在这里和其他地方尝试了很多链接,但都没有成功。
更新如果我删除函数.mousedown,那么onchange 函数会按预期工作。 所以接下来的问题是如何在通过 ajax.
发回之前累积所有 select 离子(不使用 Ctrl 键)它也不显示 IE11 中的复选框,但这是另一个问题。 提前致谢。
标记:
<style>
option:before {
content: "☐ "
}
option:checked:before {
content: "☑ "
}
<select class="ddlRole" id="ddlRole" style="width:810px" size="6" multiple="">
<option value="1">Administrator</option>
<option value="2">Manager</option>
<option value="3">User</option>
<option value="8">new role test 5</option>
</select>
jQuery: 此 mousedown 函数允许用户 select 列表中的多个选项
$("#ddlRole").mousedown(function (e)
{
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
setTimeout(function () { select.scrollTop = scroll; }, 0);
$(select).focus();
$("#ddlRole").trigger("change");
}).mousemove(function (e) { e.preventDefault() });
$('#ddlRole').on('change', function ()
{
// Works in Edge but not IE11
var selectedValue = $("#ddlRole").find('option:selected').val();
alert("try .." + selectedValue);
});
当我们使用F12开发者工具查看Html和CSS样式时,可以看到内容不可用。
似乎 CSS 内容样式在 IE 浏览器的 select 元素中不起作用。
作为解决方法,我建议您可以将 select 元素更改为 CheckBox 列表。然后,附上复选框列表容器的mousedown函数和复选框变化事件。
此外,您也可以尝试使用BootStrap多个selected插件在select选项中添加复选框。喜欢 this thread
中的示例