0

我在搜索过滤器系统中有一系列引导单选按钮。一切都在使用一系列 onchange 和 onclick 事件进行查找。

我遇到的问题是当我运行搜索并重新填充所有无线电过滤器时。引导单选按钮以相同的正常输出,并checked="checked"添加到选定的单选按钮。然后我将相关标签设置为活动并模拟 CLICK 触发事件。这会运行一系列对界面至关重要的事件。

$('input[type="radio"]:checked').parent('label').addClass('active');
//simulate click
$('input[type="radio"]:checked').parent('label').click( );
$('input[type="radio"]:checked').click( );

*注意:我已经尝试过点击触发器的各种组合

检查代码它是正确的输出。checked="checked"位于收音机中并且按钮/标签处于活动状态。

但是,当我重新提交表单时,没有点击收音机,这些单选按钮的值不在帖子中。他们只是消失了。这只发生在我运行 click tigger 时。如果我单击未选择的单选按钮,则该值将在帖子中提交。如果我单击已激活的标签(已选择)单选,则该值不在帖子中。仅当我在运行 jquery 单击触发器后单击新值时。

如果我省略单击触发器,则单选按钮值将按预期成功发布。

使用单击触发器时,与单击触发器关联的所有附加事件都可以正常运行。但是,当我使用点击触发器并且不更改值时,收音机会从返回的 $_POST 中消失。

为什么是这样?难道我做错了什么?在开发的这一点上,我需要点击触发器才能正常工作。

4

1 回答 1

0

我这样解决了这个问题:

//to check radio on click
$('label.btn.btn-primary').click(function () {
    $(this).children('input').attr("checked", "checked");
});
//to check radio on load
$('label.btn.btn-primary.active').children('input').attr("checked", "checked");
于 2013-12-13T11:29:50.240 回答