为什么我不能使用jquery触发无线电的`change`事件?

时间:2012-11-19 05:33:59

标签: javascript jquery html

页面在这里:

http://cistrome.org/cps/seqconfig?did=2693

原始的js代码在下面(这个很好用):

$(document).ready(function(){
    $(".open_gene").on('change', function(event) {
        $('#Gene_field').show();
    });

    $(".close_gene").on("change", function(event){
        $("#Gene_field").hide();
    });
});

因此.close_genechange的事件处理程序。但是,当我想手动触发此事件以隐藏#Gene_field时,如下所示:

>>> $('.close_gene').trigger("change")

在FireBugs中,返回的值为:

[input#nolimit_radio.close_gene all]

#Gene_field未被隐藏..

我想知道为什么我无法触发已changebind的{​​{1}}事件。有没有人有这个想法?谢谢!

1 个答案:

答案 0 :(得分:9)

试试这个:

$(".close_gene").click();

在Firebug控制台中它的工作正常......:)

<强>更新

这也应该有效,但不会改变单选按钮的状态

$(document).ready(function(){
  $(document).delegate(".open_gene",'change', function(event) {
     $('#Gene_field').show();
  });

  $(document).delegate(".close_gene", "change", function(event){
     $("#Gene_field").hide();
  });
});

$('.close_gene').trigger("change");