选中Jquery复选框

时间:2014-01-09 20:07:49

标签: jquery asp.net-mvc checkbox

我在MVC站点的视图中有这一行,该站点位于ForEach循环中,该循环在传递给视图的模型中迭代一组时间。

<li data-cft-times="true" class="selectedList">@times.time
  <input type="checkbox" class="ficoEntry" checked="checked" data-cft-time="true" />
</li>

然后在我的Jquery中,我试图看看用户是否已经更改了复选框以取消选择时间,而且我现在已经拥有了这个但它会返回所有时间而不仅仅是那些仍然勾选了复选框的时间。

if ($('input[data-cft-time]').attr("checked") == "checked") {
            //do stuff...
}

任何人都可以看到我出错的地方,因为我已经尝试了很多但似乎无处可去,但我知道这是一个让我陷入困境的简单问题......

感谢。

编辑...

我已经尝试了下面的两个帖子,当我取消选中DOM没有更新的复选框时,它看起来都没用,因为使用F12的HTML代码仍显示以下内容

<input type="checkbox" class="ficoEntry" checked="checked" data-cft-time="true" />

我在这里错过了什么......

更多信息..

<ul>
   <li class="selectedList" data-cft-times="true">2300
    <input class="ficoEntry" type="checkbox" checked="checked" data-cft-time="true">
   </li>
   <li class="selectedList" data-cft-times="true">0000
    <input class="ficoEntry" type="checkbox" checked="checked" data-cft-time="true">
   </li>
   <li class="selectedList" data-cft-times="true">0100
    <input class="ficoEntry" type="checkbox" checked="checked" data-cft-time="true">
   </li>
   <li class="selectedList" data-cft-times="true">0200
    <input class="ficoEntry" type="checkbox" checked="checked" data-cft-time="true">
   </li>
 </ul>

这是当前的JQuery。

$("li[data-cft-times]").each(function (index) {
        text = $(this).text().slice(0, 4);

        if ($('input[data-cft-time]').is(':checked')) {
            time += "{\"time\":\"" + text + "\"},";
        }
});

2 个答案:

答案 0 :(得分:1)

您可以使用:checked selector然后检查集合的长度,如果选中了复选框,则会返回1:

if ($('input[data-cft-time]:checked').length)
        //do stuff...
}

答案 1 :(得分:0)

试试这个:

if($('input[data-cft-time]').is(':checked')){

}