2014-01-09 243 views
0

我有一個MVC網站的視圖中的這條線,它是在一個ForEach循環內迭代一組傳遞給視圖的模型中的一組時間。Jquery是複選框檢查

<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不作爲HTML代碼中使用F12還更新顯示以下

<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 + "\"},"; 
     } 
}); 

回答

1

可以使用:checked selector然後檢查集合,將返回1的長度,如果您的複選框被選中:

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

沒有這個dosn」工作。 –

+0

確定它確實如此:http://jsfiddle.net/oGeez/ujPAm/ – George

+0

你看過我對我的帖子的編輯,更詳細地顯示我的代碼我已經嘗試過這兩種方法張貼在這裏,既不工作。 –

0

試試這個:

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

} 
+0

沒有這個dosn't工作。 –

+0

@CliffordAgius 我敢肯定,因爲我使用它。 檢查此:http://jsfiddle.net/vX3qV/ –

+0

你看了我的編輯我的文章顯示我的代碼更詳細我已經嘗試這兩種方法張貼在這裏,既不工作。 –