我正在尝试创建一个下拉菜单,该菜单将允许用户通过复选框选择多个选项。我使用的是jQuery,以便用户只需单击复选框容器(即复选框文本或文本周围的空白)即可将复选框标记为选中或未选中,而无需仅单击复选框:http ://jsfiddle.net/nMKt2/
<script type="text/javascript">
$(document).ready(function () {
$(".dropdown-menu li").click(function () {
var cb = $(this).find('input:checkbox');
var chk = cb.prop("checked");
if (!chk) {
cb.prop("checked", true);
}
else {
cb.removeProp("checked");
}
});
});
这适用于复选框容器,但是当您实际单击复选框本身时,它会失败!实际上,单击复选框似乎并不会触发切换(您可能必须在IE或Firefox中打开jsfiddle才能看到此信息,因为我的Chrome版本无法正确呈现此jsfiddle)。
我是jQuery / javascript的新手,所以我确定我在这里的某个地方犯了一个基本错误。我不知道如何解决的另一个问题是如何使下拉菜单“粘滞”,以使它不会在您每次检查选项时立即消失。
您能提供的任何帮助将不胜感激。
此处:http://jsfiddle.net/umidbek_karimov/y84ne/
1:将您的内容包装input[checkbox]
到label
:
<label><input type="checkbox" value="App1" />App1</label>
2:.stopPropagation()
点击事件的使用方法:
$(document).ready(function () {
$(".dropdown-menu li label").click(function (ev) {
ev.stopPropagation();
});
});
3:我还在display: block
标签上使用了CSS属性
#advanced_options label {
font-weight:normal !important;
font-family: Tahoma, Geneva, sans-serif;
display:block;
cursor: pointer;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句