Javascript 一旦改变设计,选择不';行不通
我有个小问题,我在问是否有人能帮我 我有一个没有签名的选择,每个选项都有一个图标。这是一个非常酷的工作方式,但是如果我尝试为这个select创建或调用onchange方法,那么它就是不起作用。就像这个方法不存在一样!如果我删除了设计,那么一切都很好。再次,select(无设计)和onchange方法是朋友 这是我的代码,以防有人需要 这是选择:Javascript 一旦改变设计,选择不';行不通,javascript,jquery,Javascript,Jquery,我有个小问题,我在问是否有人能帮我 我有一个没有签名的选择,每个选项都有一个图标。这是一个非常酷的工作方式,但是如果我尝试为这个select创建或调用onchange方法,那么它就是不起作用。就像这个方法不存在一样!如果我删除了设计,那么一切都很好。再次,select(无设计)和onchange方法是朋友 这是我的代码,以防有人需要 这是选择: <select id="select" class="form-control"> <option value
<select id="select" class="form-control">
<option value="de" data-class="deu" id="de" selected>1</option>
<option value="en" data-class="eng" id="en">2</option>
</select>
您忘记键入“#”,还以字符串格式键入它
$("#select").change(function(){
alert("Schön!");
});
对于select,“更改”不会以这种方式工作。加上这个
$("#select").change(callFunction);//call function
//define it
function callFunction(){
alert("Schön!");
}
只需将触发器
change
更改为selectmenuchange
$("#select").on('selectmenuchange',function(){
alert("Schön!");
});
当使用jqueryUI小部件时-我想(不是100%确定)-更改事件需要与selectmenu事件一起添加
$.widget("custom.iconselectmenu", $.ui.selectmenu, {
_renderItem: function (ul, item) {
var li = $("<li>", {
text: item.label
});
if (item.disabled) {
li.addClass("ui-state-disabled");
}
$("<span>", {
style: item.element.attr("data-style"),
"class": "ui-icon " + item.element.attr("data-class")
})
.appendTo(li);
return li.appendTo(ul);
}
});
$("#select")
.iconselectmenu({
change: function (event, ui) {
console.log('here')
}
})
.iconselectmenu("menuWidget")
.addClass("ui-menu-icons customicons");
$.widget(“自定义.iconselectmenu”,$.ui.selectmenu{
_renderItem:功能(ul,项目){
变量li=$(“”{
文本:item.label
});
如果(项目已禁用){
li.addClass(“ui状态禁用”);
}
$("", {
样式:item.element.attr(“数据样式”),
“类”:“ui图标”+item.element.attr(“数据类”)
})
.附件(李);
返回li.附录(ul);
}
});
$(“#选择”)
.I选择菜单({
更改:功能(事件、用户界面){
console.log('here')
}
})
.iconselectmenu(“菜单Widget”)
.addClass(“ui菜单图标自定义图标”);
为什么不在
标记中调用该函数呢?您只需
即可。控制台中是否有错误?您添加了哪些js引用(您正在使用的是jqueryUI小部件吗?@Taleeb是的,我也在使用boostrap,控制台中没有任何错误。如果这对youHi Hendry不起作用,一定要告诉我!我只是像这样为#select声明了一个别名:var select=$(“#select”),因为这个原因,我调用了$(select),而不是$(“#select”)Hi Abhishek!我尝试了您的方法,但仍然不起作用:(确保JQuery在此脚本之前加载,并将第一行代码放入$(document).ready(function(){//code here});
块。之后,将函数声明在此块之外,但在相同的脚本标记中。
$("#select").on('selectmenuchange',function(){
alert("Schön!");
});
$.widget("custom.iconselectmenu", $.ui.selectmenu, {
_renderItem: function (ul, item) {
var li = $("<li>", {
text: item.label
});
if (item.disabled) {
li.addClass("ui-state-disabled");
}
$("<span>", {
style: item.element.attr("data-style"),
"class": "ui-icon " + item.element.attr("data-class")
})
.appendTo(li);
return li.appendTo(ul);
}
});
$("#select")
.iconselectmenu({
change: function (event, ui) {
console.log('here')
}
})
.iconselectmenu("menuWidget")
.addClass("ui-menu-icons customicons");