我有以下代码,它适用于除Chrome浏览器之外的所有浏览器。 我想每次点击一个选项,通过“您选择的选项(选择的选项编号)”文本提醒我。 我无法使它发挥作用。
var MyView = Backbone.View.extend({
el : "#eventPage",
initialize : function(options) {
_.bindAll(this, 'render', 'changeNum');
this.render();
},
render : function(){
var a = [];
var b = 0;
a[b++] = '<div>';
a[b++] = ' <select id="select">';
a[b++] = ' <option class="sel" id="1">ONE</option>';
a[b++] = ' <option class="sel" id="2">TWO</option>';
a[b++] = ' <option class="sel" id="3">THREE</option>';
a[b++] = ' </select>';
a[b++] = '</div>';
$(this.el).html(a.join(""));
},
events : {
"click #select .sel":"changeNum"
},
changeNum : function(e){
alert("You selected option "+$(e.currentTarget).attr("id"))
}
});
答案 0 :(得分:1)
您应该聆听option
元素的更改,而不是聆听点击select
元素:
events: {
"change #select":"changeNum"
}
然后在changeNum
功能中,您可以获得所选的选项:
changeNum: function(e) {
alert("You selected option "+$(e.currentTarget).find('option:selected').attr('id'));
}
这是一个工作小提琴:https://jsfiddle.net/vt7t47br/