我使用C#代码动态创建复选框&将它们添加到占位符,我使用Jquery在鼠标的悬停事件中检查/取消选中它们。
C#:
for (j = d; j < b; j++) {
plhdr_seat.Controls.Add(new LiteralControl("<td>"));
// CheckBox fg = new CheckBox();
plhdr_seat.Controls.Add(new LiteralControl("<td>"));
HtmlInputCheckBox cb = new HtmlInputCheckBox();
cb.Attributes.Add("class", "mew");
cb.Checked = true; // or cb.Checked = false;
cb.ID = "check_" + j.ToString();
plhdr_seat.Controls.Add(cb);
plhdr_seat.Controls.Add(new LiteralControl("</td>"));
}
jquery的:
<script>
$(document).ready(function () {
$(".mew").mouseover(function () {
var attr = $(this).attr("Checked");
if (typeof attr !== typeof undefined && attr !== false)
{
$(this).prop('checked', false); // will check the checkbox with id check1
}
else {
$(this).prop('checked', true); // will uncheck the checkbox with id check1
}
});
});
</script>
我有这个。
悬停时,取消选中复选框。但是我再次盘旋在他们身上,他们没有被检查。 我无法确定问题所在。请帮帮我。
答案 0 :(得分:2)
您可以使用.hover():
将其简化为此
$(".mew").hover(function() {
$(this).prop("checked", !$(this).prop("checked"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="mew" />
<强>参考强>
答案 1 :(得分:1)
$(".mew").on("mouseover", function () {
this.checked = ! this.checked;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="mew" />
答案 2 :(得分:0)
尝试使用.on
例如,如果<div id="fixed_static">
是div持有所有checkbox
试试这个
$("#fixed_static").on("mouseover",".mew",function(){
});
或者您可以使用
$("html").on("mouseover",".mew",function(){
});
答案 3 :(得分:0)
试试这个,
$(document).on("mouseover",".mew",function(){
this.checked = !this.checked;// check if uncheck, uncheck if checked
//$(this).prop('checked',!this.checked); in jquery
});