Javascript HTML";“多重”;对于多个没有标识的选择框选项,单击并委托jquery的功能
我正在使用htmlJavascript HTML";“多重”;对于多个没有标识的选择框选项,单击并委托jquery的功能,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用htmlmultiple作为多个选择框下拉列表。 单击任何选项,我都会添加css类权限选择,将其背景颜色更改为黄色,以显示所选选项。 如果再次单击选中的选项,则会取消选中该选项,并且类权限选择将删除 CSS .permissionsSelection{ background:yellow; } Jquery $("#availablePermissions").delegate(".permissions", "click", function(e) { i
multiple
作为多个选择框下拉列表。
单击任何选项,我都会添加css类权限选择
,将其背景颜色更改为黄色,以显示所选选项。
如果再次单击选中的选项,则会取消选中该选项,并且类权限选择将删除
CSS
.permissionsSelection{
background:yellow;
}
Jquery
$("#availablePermissions").delegate(".permissions", "click", function(e) {
if($(this).hasClass("permissionsSelection")){
$(this).removeClass("permissionsSelection");
}
else{
$(this).addClass("permissionsSelection");
}
});
HTML
<select class="multipleSelectBox" multiple name="availablePermissionsEdit" id="availablePermissionsEdit"> <option id="itemId1Edit1" value="option1" class="permissions">option1</option>
<option id="itemId1Edit2" value="option2" class="permissions">option2</option> <option id="itemId1Edit3" value="option3" class="permissions">option3</option>
</select>
选项1
选项2选项3
这在所有浏览器中都可以正常工作。与往常一样,不在IE8中工作
单击代理功能不启动,我也尝试过使用live、on和click代替代理,但它们都不适用于我
请帮助从IE中保存我,在IE borwser select>选项中单击event dose not work(事件无效),如果要实施,请使用选定的目标事件值,请尝试此代码
$(window).load(function() {
$("#availablePermissionsEdit").on("click", function(e) {
$target = $(this).find("option[value="+this.value+"]");
if ($target.hasClass("permissionsSelection")) {
$target.removeClass("permissionsSelection");
}else {
$target.addClass("permissionsSelection");
}
});
}))
注意请确保选项值应唯一
如果您想从IE中保存自己,请从您的系统中删除它。。这就是项目要求:(您使用的是哪个版本的jQuery?jQuery v1.10.2版选项在某些浏览器中不会触发鼠标事件,主要是在IE上,因此如果您想要跨浏览器支持,将鼠标事件附加到选项元素通常是一个坏主意。此fiddle站点演示不适用于IE8..页面出错up@mayank小提琴在ie8中不起作用,你能放下吗在您的本地系统上运行最新的jquery和fiddle代码,并在ie8$target=$(this.find)(“option[value=“+this.value+”]);这是一个很好的技巧。很高兴能帮助您@mayanklet-us