我正在使用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));
答案 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");