jquery无法以编程方式设置prettyCheckable插件单选按钮

我使用prettyCheckable jQuery插件使我的复选框和单选按钮看起来很漂亮,如果我使用jquery设置属性选中它不起作用,因为插件隐藏了实际的复选框,并使它自己的重写html到复选框/广播,所以当我检查收音机或复选框时,jquery不会识别

//点击按钮,我尝试了所有的事情。 但没有效果的作品。 请帮忙

<input type="radio" id="rdTypeAdd" name="taxationtype" class="radiobutton" value="+" data-     label="Additive" data-customclass="margin-right" checked="checked" />    
<input type="radio" id="rdTypeSub" name="taxationtype" class="radiobutton" value="-" data-label="Subtractive" data-customclass="margin-right" />


    $('#rdTypeAdd').buttonset();
    $('[name="rdTypeAdd"][value="+"]').prop("checked", true);
    $('#rdTypeAdd').buttonset("refresh");

    //$('[name="rdTypeAdd"][value="+"]').attr("checked", true);
    //$('[name="rdTypeAdd"][value="+"]').prop("checked", true).trigger("change");

    //($('.rdTypeAdd').prop('checked',true));

不知道这是多少的黑客,但我能够得到一个div来检查并取消选中一个prettyCheckable复选框。 我注意到,当我从该prettyCheckable中删除class =“checked”时,复选框变为未选中状态。

$("#checkbox").prettyCheckable();
    $("#checkboxDiv").click(function() {
    if ($("#checkbox").is(':checked'))
    {
        $("#checkbox").next().removeClass("checked");
        $('#checkbox').each(function(){ this.checked = false; });
    } else {
        $("#checkbox").next().addClass("checked");
        $('#checkbox').each(function(){ this.checked = true; });
    }
});

从(这是.next()到prettyCheckable元素)添加或删除“checked”类并在原始复选框元素中设置checked = true都是它需要的工作。 然而,如果我的cookie是设置的,那么就可以只选择这个类。 就像我说过的,我不知道这个黑客有多糟糕,但它为我工作,希望它可以帮助你。 不知道为什么prettyCheckable没有这个能力或至少有文件,因为我找不到任何东西。


你可以使用漂亮的可检查函数:

$('[name="rdTypeAdd"][value="+"]').prettyCheckable('check');

$('[name="rdTypeAdd"][value="+"]').prettyCheckable('uncheck');


这个答案建立在@ kravits88和这个github问题上

var $radio = $('[name="rdTypeAdd"][value="+"]');
$radio.prettyCheckable('check');
$radio.prop('checked', true).change();
$radio.click();
链接地址: http://www.djcxy.com/p/56047.html

上一篇: jquery is unable to set the prettyCheckable plugin radio button programmatically

下一篇: How to set checked value for a radio input tag using ASP.Net?