我在操作复选框值时遇到问题。复选框上的“change”事件返回一个对象,在我的例子中:
{"val1":"member","val2":"book","val3":"journal","val4":"new_member","val5":"cds"}
上面的对象需要进行转换才能让搜索引擎使用它,如下所示:
{ member,book,journal,new_member,cds}
我已经使用以下代码块完成了此操作:
var formcheckbox = this.getFormcheckbox();
formcheckbox.on('change', function(checkbox, value){
var arr=[];
for (var i in value) {
arr.push(value[i])
};
var wrd = new Array(arr);
var joinwrd = wrd.join(",");
var filter = '{' + joinwrd + '}';
//console.log(filter);
//Ext.Msg.alert('Output', '{' + joinwrd + '}');
});
问题是我想要“更改”事件的输出(正在生成:{member,book,journal,new_member,cds})的输出(“var filter”)以在其他地方使用它。我尝试将整个事件设为变量(var output =“更改事件”),但它不起作用。
也许这是一个愚蠢的问题,但我是新手,我需要一点帮助。
提前谢谢您,
汤姆
最佳答案
只需将 filter
传递给将使用它的函数即可。如果您希望发生某些事情,您无论如何都必须从 change
处理程序内部调用它:
formcheckbox.on('change', function(cb, value){
//...
var filter = "{" + arr.join(",") + "}";
useFilter(filter);
});
function useFilter(filter){
// use the `filter` var here
}
关于javascript - 使用 "event' s"输出作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663119/