我有两个单选按钮,当选中其中一个时,它会执行某些操作。这是一个与它们绑定的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将被检查,同时,表格将再次显示。
答案 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()
事件以#hours24n
为checked
$(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();
})
<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;