我有这个div和这个输入:
<fieldset>
<input/>
<label></label>
<div class="toggle_box">
<div class="switch"></div>
</div>
</fieldset>
当checked
的状态发生变化时,我希望输入为<div class="switch"></div>
:
<fieldset>
<input checked="checked" />
<label></label>
<div class="toggle_box">
<div class="switch" state="on"></div>
</div>
</fieldset>
知道如何使用jQuery做到这一点? 谢谢:))
答案 0 :(得分:1)
根据您的代码:pastebin.com/rjWc9i6f
每当您将div状态设置为on时,也请选中该复选框。这真的很简单。您可以更轻松地使用函数进行管理:
function SetState($switch, on)
{
$switch.attr("state", on ? "on" : "off");
$switch.closest("fieldset").find("input:checkbox").attr("checked", on);
}
并像这样调用此函数:
SetState($(".switch"), true);
或来自.toggle_box
div
SetState($(this).find(".switch"), true);
或使用您的target
变量:
SetState(target, true);
答案 1 :(得分:1)
Salut SnippetSpace!
我在这里准备了 JSFiddle D E M O
希望这会有所帮助 ciao et bonne的机会! :)
顺便说一句,
我用过:
$.fn.toggleChkBx = function() {
if ($('.switch').attr('state') == 'on') {
$(this).attr('checked', !$(this).find(':input').attr('checked'));
}
}
并将其称为Ex。: $('。some_Element')。click(function(){....
$(this).parent().find(':input').toggleChkBx(); // RUN OUR fn