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

时间:2013-08-25 07:14:46

标签: jquery radio-button

我正在使用prettyCheckable jquery插件使我的复选框和单选按钮看起来很漂亮,如果我使用jquery设置属性选中它不起作用,因为插件隐藏了实际的复选框并使其自己覆盖html以使其更好复选框/收音机,因此当我检查收音机或复选框时,jquery无法识别

//点击按钮我尝试了所有的事情。但是nithing工作。请帮忙

<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));

5 个答案:

答案 0 :(得分:3)

不确定这是多少黑客,但我能够得到一个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()中添加或删除“checked”类并在原始复选框元素中设置checked = true都需要它才能工作。然而我的if if set piece能够检查只有该类的盒子。就像我说的那样,我不知道黑客有多糟糕,但它对我有用,希望它可以帮助你。不确定为什么prettyCheckable没有这种能力或至少记录它因为我找不到任何东西。

答案 1 :(得分:3)

您可以使用非常好的可检查功能:

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

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

答案 2 :(得分:1)

此答案以@ kravits88和此github issue

为基础
var $radio = $('[name="rdTypeAdd"][value="+"]');
$radio.prettyCheckable('check');
$radio.prop('checked', true).change();
$radio.click();

答案 3 :(得分:0)

这似乎对我有用。基本上你必须在你的复选框周围找到由prettyCheckable创建的标签父级,并设置它和输入:

$("#element").prop("checked", true).parent().find("a:first").addClass("checked");

答案 4 :(得分:-1)

设置&#34;选中&#34;任何事物的属性应该如图所示here

$('#rdTypeAdd').attr("checked","checked");