如何检查我的复选框是否已选中?

时间:2013-03-23 08:07:32

标签: javascript jquery asp.net-mvc-3 razor

我有一个我想要监控的复选框列表。它们加载在这样的表单上:

在Java脚本中,条件编译已关闭,我有语法错误。有人可以告诉我如何解决这个问题或者指点一下可能有用的教程吗?

感谢。

因此,我将JQuery函数放在一个正常工作的foreach循环中,以检查每个复选框的已检查状态,但警报显示每个都检查了那些未检查的复选框。我在这里做错了什么?

foreach (var course in courses.Select((x, i) => new { Data = x, Index = i }))
{
    <script type="text/javascript">
       $(document).ready(function () {
          $('#saveBtn').click(function () {
              if ($('#checkbox').is(':checked')) {
                     alert('checked');
              }
              else
                 alert('unchecked');
         });
       });
   </script>
}

2 个答案:

答案 0 :(得分:1)

您可以遍历您页面中的复选框,并将已检查值的值存储在如下数组中:

<script type="text/javascript">
  $(document).ready(function () {

var selected = new Array();
$("input:checkbox:checked").each(function()
{
    selected.push($(this).val());
});

});

   </script>

答案 1 :(得分:0)

通过获取其检查状态,您可以在javascript中找到是否选中任何复选框:

<script language="javascript" type="text/javascript">
    var checkStatus = document.getElementById("checkBoxId").checked;
    alert(checkStatus);
</script>

通过jQuery你可以这样做:

    if($('#checkBoxId').is(':checked') ){
     //your logic
    }

您可以捕获change事件的复选框,如下所示:

 $('input:checkbox').change(function(){ 
    if($(this).is(':checked')){
        alert('checked');
    }
    else
        alert('unchecked');
});

请参阅此fiddle