Jquery复选框选中并取消选中悬停

时间:2014-11-17 10:06:01

标签: c# jquery html asp.net checkbox

我使用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>

我有这个。 enter image description here

悬停时,取消选中复选框。但是我再次盘旋在他们身上,他们没有被检查。 我无法确定问题所在。请帮帮我。

4 个答案:

答案 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" />

<强>参考

.prop()

答案 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
});