jquery事件不会自动触发

时间:2015-08-14 03:02:36

标签: javascript jquery html

我有两个单选按钮,当选中其中一个时,它会执行某些操作。这是一个与它们绑定的JQuery:

$('input[name=24hours]:radio').on('change', function() {
    if($('#hours24y').is(':checked')) 
    { $('table').hide(); }
    else if ($('#hours24n').is(':checked')) 
    { $('table').show(); }

同样在表格中我有一个重置按钮。当点击重置按钮时,我试图触发上面的事件:

$('[type=reset]').on('click', function(){
    $('input[name=24hours]:radio').triggerHandler('change');
});

问题是,当第一次单击重置按钮时,它只将单选按钮更改为其初始状态。触发器jquery仅在再次单击重置按钮时发生。 那么,如何在第一次点击重置按钮时自动运行触发器jquery?

编辑:这是行动的例子。当我检查单选按钮#hours24n时,将显示一个表格。如果我检查单选按钮#hours24y,则会隐藏相同的表格。

让我们说最初,表格显示为#hours24n被检查。然后,我检查#hours24y,因此表将被隐藏。现在,点击重置按钮后我的期望是,#hours24n将被检查,同时,表格将再次显示。

2 个答案:

答案 0 :(得分:0)

<强>的jQuery

  $('input').on('change', function() {
        if ($('.radio[name=24hours]').is(':checked')) {
        { 
$('.table').fadeTo(500, 1);
this.checked = false;}

        if($('#hours24n').is(':checked'))
        { 
$('.table').fadeOut(500, 0);
this.checked = false; }
        }
    });

尝试使用类&#39;表&#39;创建表格,如果您需要在不使用此方法的情况下应用更多表格,则可以省去麻烦。格式化您的单元格;

<table class="table" style="opacity: 0"></table>

答案 1 :(得分:0)

尝试在change事件中调用})之前,使用选择器'input[name=24hours][id=hours24n]:radio',设置.prop("checked", true),向.triggerHandler('change')处理程序click添加结束括号,止血功能,调用.click()事件以#hours24nchecked $(function() { $('input[name=24hours]:radio').on('change', function() { if ($('#hours24y').is(':checked')) { $('table').hide(); } else if ($('#hours24n').is(':checked')) { $('table').show(); } }) $('[type=reset]').on('click', function() { $('input[name=24hours][id=hours24n]:radio') .prop("checked", true).triggerHandler('change'); }).click(); })

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<input type="radio" name="24hours" id="hours24y" />
<input type="radio" name="24hours" id="hours24n" />
<input type="reset" />
<table>
  <tbody>
    <tr>
      <td>
        checked
      </td>
    </tr>
  </tbody>
</table>
&#13;
angular.forEach(queryTicketCategories, function(category) {
    if(category.id === $scope.ticketCategory.parentId) {
        $scope.parent = category;
    }
});
&#13;
&#13;
&#13;