javascript - 使用 "event' s"输出作为变量

标签 javascript variables object extjs extjs4

我在操作复选框值时遇到问题。复选框上的“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/

相关文章:

javascript - 如果 CSS 位置稍后设置为静态以外的任何值,则 jQuery 位置方法返回不同的值

javascript - 使用 jQuery 获取 DOM 加载后添加的元素的值

javascript - Grunt 任务自动为新模块生成文件

c++ - 静态变量的返回值

javascript - 无法在 Chrome 中捕获 Chrome window.location.href

javascript - 如何将命名空间变量传递给单击函数参数变量? jQuery

java - Println 带有未解析的字符串

javascript - 从此对象中选择特定属性值时遇到问题

c++ - 具有排序问题的结构的静态数据成员的命名空间

javascript - 如何从函数中获取对象