1

我正在使用 Twitter Bootstrap 和 Joomla 3.0,并且有一个需要重置为默认值的表单。Simpleform.reset();适用于除无线电 btn 组以外的所有元素。

我的意思是,收音机被重置,但标签状态没有改变。我几乎没有尝试重置它,但由于 btn 类名不明确而适得其反。我试图以具有 50 多个单选按钮选项的表单中的 id 为目标字段集组,但效果不佳。它们的颜色最终会有所不同,等等。

我将不胜感激这方面的任何帮助

这是摆弄例子

http://jsfiddle.net/DZ7HL/31/

Turn radios into btn-group的 js 来自 joomla 默认管理员模板,我无法删除/编辑或更改它,如果这造成了一些麻烦,我必须想办法让它与存在的 js 一起工作。如果有任何帮助,我有我自己的 js 文件,该文件在该文件之后加载

4

2 回答 2

1

这似乎是 joomla 对标签所做的奇怪的“逻辑”。它向标签添加了一些类,您可以轻松地重置无线电组,但是“手动”添加的类仍然存在,因此您必须删除它们。

所有“默认值”都是#2 选项,对吧?这是一个通用功能

// FROM HERE IS CHANGABLE
function resetRadioGroup(groupname) {
switch($("input[name='"+groupname+"']:eq(1)").val()) {
    case '' : var css='btn-primary'; break;
    case '0': var css='btn-danger'; break;
    default : var css='btn-success'; break;
}
$("input[name='"+groupname+"']").next().removeClass('active btn-success');
$("input[name='"+groupname+"']:eq(1)").prop("checked", true).next().addClass('active '+css);
}

$('#reset_form').click(function() {
    $('#myform')[0].reset();
    resetRadioGroup('radio_test');
    resetRadioGroup('radio2_test');
})

已经在http://jsfiddle.net/AtL5q/上分叉了

更新 鉴于所有无线电组都在具有类 btn-group 的字段集中,您可以自动调用resetRadioGroup函数:

$('#reset_form').click(function() {
    $('#myform')[0].reset();
    $('fieldset.btn-group').each(function() {
      resetRadioGroup($(this).find('input').first().attr('name'));
    });
})​

http://jsfiddle.net/3aU4F/

于 2012-10-29T00:50:20.613 回答
0

我去的解决方案是

// FROM HERE IS CHANGABLE
$('#reset_form').click(function() {

    $('#myform')[0].reset();


    $(".btn-group label:not(.active)").change(function() {
        var label = $(this);
        var input = $('#' + label.attr('for'));

        if (input.prop('checked')) {
            label.closest('.btn-group').find("label").removeClass('active btn-success btn-danger btn-primary');
            if (input.val() == '') {
                label.addClass('active btn-primary');
            } else if (input.val() == 0) {
                label.addClass('active btn-danger');
            } else {
                label.addClass('active btn-success');
            }
        }
    }).change();




})​

如此处所示,jsfiddle.net/Yt9uX/41 所以你有它我相信它会对使用 joomla 3.0 或使用 btn 组无线电的 bootsrtap 表单的任何人派上用场

于 2012-10-29T02:06:33.910 回答