我正在使用多选下拉菜单,我希望得到值onChange
事件。我有两个函数main函数和函数b,函数b我用于onChange
事件。
我创建了函数b的对象以在main函数中获取它的值。
我想在主要功能中获得它的价值。
现在的问题是,如果我创建了对象,则函数b在变化时获得值但不显示它。
如果我将字符串分配给this.selected_cats = 'some string';
,它在主函数中完美显示。但是,如果我将所选类别分配给this.selected_cats = elem;
,则表示在控制台中未定义。如果我说onChange="alert(this.value)";
,这表明我的价值很好。
function b (elem){
this.selected_cats = elem;
};
var obj_b = new b();
function main(){
console.log(obj_b.selected_cats);
}
<select name='category[]' id="select_cats" onchange="b(this.value);" multiple="multiple">
这样它也显示我的价值也很好??? 我的意思是不使用对象
function b (elem){
var show_value = elem;
console.log(show_value);
};
答案 0 :(得分:0)
您需要在b
的实例上调用函数才能更改其值。 EG:
function b (elem){
this.selected_cats = elem;
};
var obj_b = new b();
obj_b.onChange = function (elem){
this.selected_cats = elem;
};
function main(){
console.log(obj_b.selected_cats);
}
<select name='category[]' id="select_cats" onchange="obj_b.onChange(this.value);" multiple="multiple">