回答
如果你不反对使用现有的工具包,jQuery UI Button可以把复选框到支持的四个基本可视状态(加一种悬停状态)的自定义风格的按钮:
然而,为了能够以您想要的方式使用该功能(使用value
属性作为标签),您必须将id
属性赋予复选框,并添加<label>
指向这些ID的元素并显示其复选框的值作为它们的内部文本。您可以手动更改您的标记:
<input type="checkbox" id="nutri" name="nutri" value="select">
<label for="nutri">select</label>
或动态修改:
$("input:checkbox").each(function(index) {
$("<label>").text(this.value)
.attr("for", this.id = "checkbox" + index + 1)
.insertAfter(this);
});
从那里,它是作为一个容器上呼吁复选框button()
或buttonset()
一样简单。当然,如果没有默认的jQuery UI主题适合您的项目,您可以使用ThemeRoller为每个视觉状态设计自己的风格。
您可以在this fiddle中找到现场演示。
$('#yourCheckbox').hide().after($('<img/>', { src: 'blah.png', alt: 'whatever' }).click(function(){
$(this).prev('input:checkbox').click();
}));
你也许还建立包含图像的标签。然后你可以摆脱click()
处理程序。
我做了,并在这里例如http://jsfiddle.net/jitendravyas/hNRRR/ –
它被选中? –
是的。你可以在没有'.hide()'的情况下进行测试。尽管如此,你应该改进代码来显示未检查和已检查的状态。 – ThiefMaster
您可以使用纯CSS。只要您的复选框后添加一个标签:
#check_box {
display:none;
}
#check_box + label{
background:url('images/check-box.png') no-repeat;
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
#check_box:checked + label{
background:url('images/check-box-checked.png') no-repeat;
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
你怎么能做到这一点,但有复选框之前的标签? –
- 1. 复选框的自定义图片?
- 2. xPages复选框样式背景图片
- 3. 如何将自定义背景添加到UISearchDisplayController的表视图?
- 4. 如何为UIWebView添加背景图片?
- 5. 如何添加内联背景图片?
- 6. 如何动态添加背景图片?
- 7. 自定义背景图片在IOS5 SDK
- 8. 自定义UINavigationController UIToolbar背景图片
- 9. 自定义离子复选框的默认背景颜色
- 10. 自定义视图背景对话框
- 11. 如何使用jquery在文本框中添加背景图片
- 12. 如何在gridview中为复选框添加背景颜色
- 13. Android自定义ListView与复选框和更改背景颜色
- 14. 如何隐藏自定义标题背景图片?
- 15. 如何在自定义背景的工具栏中添加一个复选框 - 安卓android,android,
- 16. 如何在infusionsoft中添加自定义复选框?
- 17. Cocos2d为图层添加背景图片?
- 18. 添加背景图片的UITabBarController
- 19. 向TTWebController的UIToolbar添加背景图片
- 20. 不能添加背景图片的CSS
- 21. 如何在Autodesk forge中添加自定义背景?
- 22. 如何修复背景图片?
- 23. 如何添加滚动视图中的背景图片
- 24. 如何使复选框背景透明?
- 25. 添加背景图片和边框图像形成
- 26. 添加背景图片直销收藏
- 27. 在vim中添加背景图片
- 28. 添加背景图片Bootstrap Jumbotron
- 29. 在TextView后面添加背景图片
- 30. 在css中添加背景图片
复选框通常至少有两个视觉国家(四个,如果你把它'enabled'属性考虑在内),但你只显示一个。你打算如何区分检查状态和未检查状态? –