0

我正在使用引导插件(http://www.bootstrap-switch.org/),事件处理程序会给我大量的信息——比我需要的多得多。

$('.make-switch').on('switch-change', function (e, data) {
    var $el = $(data.el)
    , value = data.value;
    console.log(e);
    console.log($el);
    console.log(value);
});

我只需要已切换的开关的 ID 以及它所处的状态。在 Firefox firebug 中,我在控制台窗口中看到以下内容:

+ Object[input#checkbox_1]. 当我深入到对象中时,我看到了一个0,所以我点击了进一步扩展的那个。在0我看到了我正在寻找的 ID 属性和相应的值,但我不知道如何引用它。如果我能得到一些帮助,获取价值将是相同的方法。

所以我的问题是,如何获取已抛出的开关的 ID?

我尝试使用另一个 SO 问题/答案并使其适应这个问题,但它对我不起作用。我拿了这个:

$("a").click(function(event) {
    console.log(event.target.id);
});

并将其调整为:

$('.make-switch').on('switch-change', function (e, data, event) {
    var $el = $(data.el)
    , value = data.value;
    console.log(e);
    console.log($el);
    console.log(value);
            console.log(event.target.id); //but this produces an error
});

但是 console.log(event.target.id) 会产生错误。

所以我的问题是,如何获取已抛出的开关的 ID?(如果上面遗漏了这个问题

根据评论:这是我开始的一个 jsFiddle:
http://jsfiddle.net/zZWLx/1/

4

2 回答 2

1

如果您使用的是 JQuery

$(document).ready(function() {
  $("a").click(function(event) {
    alert(event.target.id);
  });
});
于 2013-10-29T18:06:56.013 回答
0

试试这个,在处理程序中:

console.log($(e.target).attr("id"))

编辑:

试试这个,更新的小提琴:http: //jsfiddle.net/zZWLx/2/

代码:

$(".make-switch").on('switch-change', function(event){
    console.log($(event.target).find("input").attr("id"));
})
于 2013-10-29T18:03:48.027 回答