0
我試圖突出顯示整個行,當用戶檢查<table>
內的任何複選框。我正在使用jQuery的「dataTable」插件。jQuery選擇器只選擇最後一個複選框列,但應選擇所有複選框?
我能夠以我想要的方式獲得部分工作。目前最右邊或最後一個有「複選框」的列會將選擇器應用於它。所以,當我檢查一個盒子(「th」中的check_all框或「td」中的複選框時,它會正確地突出顯示該行,但如果我檢查第二到最後一列中的任何複選框,則不會有任何反應。選擇並沒有得到此適用
我不明白這有什麼錯我的jQuery
這裏是我的jQuery:。
//SELECTED ROW HIGHLIGHT
$("table.datatable_ss").delegate("input:checkbox", "click", function(e) {
//Search the body for any checked input boxes and highlight the row
$("table.datatable_ss tbody [type=checkbox]").each(function(){
if ($(this).is(":checked")) {
$(this).closest("tr").addClass("row_selected");
}
else {
$(this).closest("tr").removeClass("row_selected");
}
});
});
繼承人的HTML:
<table class="datatable_ss">
<thead>
<tr>
<th>Suite</th>
<th>Location</th>
<th>Status</th>
<th>Date</th>
<th><input type="checkbox" name="_arch_chbx_checkall"></th>
<th><input type="checkbox" name="_del_chbx_checkall" ></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td class=" sorting_1">Suite 301</td>
<td>Mainstreet Plaza</td>
<td>Active</td>
<td>06/01/2012</td>
<td>
<input type="checkbox" class="input_editible" name="_arch_chbx" id="9_L_arch_chbx">
</td>
<td>
<input type="checkbox" class="input_editible" name="_delete_chbx" id="9_L_del_chbx">
</td>
</tr>
</tbody>
</table>
你的HTML似乎是錯誤的幾個地方。 ''應該有表格行,'',在其下面應該有標題,'',在下面。此外你沒有關閉''。 ''標籤類似於'FYI'的''標籤。 –
2012-03-07 16:30:08
+0
+0
對不起,我只是輸入了錯誤的...實際的代碼是正確的。我現在修好了。 – Ronedog 2012-03-07 16:32:38
在選擇器中使用tbody .. 複選框被忽略!在js代碼 – ggzone 2012-03-07 16:38:05
A
0
+0
回答
我通過刪除複選框的循環來突出顯示。我認爲最好將select-all複選框事件連線和row-checkbox事件連線分開。
來源
2012-03-07 16:59:53
第6行很棒..感謝我改變了代碼。現在我唯一需要的是,如果行檢查位於中的「check_all」複選框,那麼行將被突出顯示......我想這就是爲什麼我使用.each(),但.each()引起的我原來的問題......任何想法?感謝您的回覆 – Ronedog 2012-03-07 17:06:59
+0
+0
0
+0
0
相關問題
-
1. 選擇所有複選框
-
2. 選擇所有複選框
-
3. 選擇所有複選框
-
4. jquery選擇器複選框
-
5. Datagridview複選框列只允許我選擇一個複選框
-
6. 選擇複選框選擇
-
7. 選擇一個複選框,選擇其他複選框
-
8. 通過選擇另一個複選框來選擇所有複選框
-
9. 選擇所有複選框由一個複選框不工作
-
10. 所選複選框禁用另一個複選框的選擇
-
11. jQuery選擇所有複選框與toggleClass
-
12. 選擇jquery中的所有複選框
-
13. jQuery選擇所有兒童複選框
-
14. 使用jQuery選擇所有複選框
-
15. 選擇jQuery中的所有複選框
-
16. 如何添加複選框選擇只有一個選擇?
-
17. 選擇所有WPF DataGrid的複選框只選擇鑑於
-
18. 選擇所有選中的複選框
-
19. 選擇一個複選框當選擇所有chekboxes
-
20. 使用jquery選擇最大選擇後禁用複選框
-
21. 只選擇一個複選框
-
22. jQuery複選框樹選擇
-
23. jQuery複選框選擇
-
24. Jquery複選框選擇
-
25. jQuery選擇複選框
-
26. 選擇複選框/ jQuery的
-
27. 只選擇下一個選擇框(jQuery)
-
28. 複選框後變量/數組時,有選擇只有一個複選框
-
29. 選擇複選框
-
30. 選擇複選框
最新問題
-
1. jQuery的動態CSS屬性(在滾動)
-
2. Eclipse手動/脫機JBoss Tools Luna安裝:缺少需求abc需要'bundle xyz',但找不到
-
3. Laravel登記錯誤,數據庫連接,但收到奇怪的錯誤
-
4. highmaps在遷移到.NET Core後停止更新
-
5. 攔截winsock的recvfrom函數提供了無效地址錯誤
-
6. Python對象混入注射
-
7. 批處理文件無法正常工作,除非我正在觀看
-
8. 司 - SQL
-
9. 在C++ Builder中的服務應用程序6
-
10. Spring REST:適用於嵌套XML請求正文的構造函數嗎?
-
1. 選擇所有複選框
-
2. 選擇所有複選框
-
3. 選擇所有複選框
-
4. jquery選擇器複選框
-
5. Datagridview複選框列只允許我選擇一個複選框
-
6. 選擇複選框選擇
-
7. 選擇一個複選框,選擇其他複選框
-
8. 通過選擇另一個複選框來選擇所有複選框
-
9. 選擇所有複選框由一個複選框不工作
-
10. 所選複選框禁用另一個複選框的選擇
當您有多個選中的項目時,此代碼不會工作,如果您取消選中它將刪除「row_selected」類。即,您仍然檢查了行內的項目 – Tuscan 2012-03-07 17:10:05
是的,「each()」將貫穿所有複選框。如果你想突出顯示一行,如果任何一個複選框被選中,你可以從「if」條件中「返回false」來突破each()循環。 – 2012-03-07 17:10:46
爲什麼你使用foreach這是什麼導致問題。
試試這個。
來源
2012-03-07 17:08:21 Tuscan
這有效,但不適用於多個複選框...即參見ulhas Tuscano上面的註釋。它也不會「檢查所有」並突出顯示行......但它的確幫助我思考問題,以提出解決方案。見下面我的回覆。 – Ronedog 2012-03-07 17:29:44
感謝您的回覆。它幫助我找出了適用於所有情況的解決方案:
我最終爲「thead」輸入框設置了一個單獨的選擇框,如果該行中的某個複選框恰好被檢查,那麼這些選框將突出顯示所有行。
另一個選擇器用於「tbody」複選框,並遍歷到「tr」,然後使用.find()允許我檢查是否有複選框被選中,如果是,該行保持高亮顯示。
感謝所有那些幫助我引發新的思考方式。
繼承人的更新的jQuery:
來源
2012-03-07 17:33:43 Ronedog
相關問題