當頁面加載一個帶有單選按鈕的表時會顯示。在表格3下方的按鈕X,Y,Z被禁用。當用戶從表格中選擇一個單選按鈕時,這三個按鈕X,Y,Z應該被啓用?啓用/禁用基於單選按鈕的功能按鈕
1
A
回答
4
使用Javascript:
$('table input[type="radio"]').click(function() {
$('input[type="button"]').removeAttr('disabled');
});
HTML:
<table>
<tr>
<td><input type="radio" />...
...
<input type="button" disabled ... />
+0
爲了OP的好處,他們應該考慮使用ID選擇器或CSS選擇器,以便在單擊任何單選按鈕時,頁面上的每個按鈕都不會啓用。 – 2011-06-15 23:30:04
+0
這個答案會爲所有raido按鈕增加一個onclick監聽器,包括禁用的按鈕,這看起來不合適。爲了對單選按鈕進行分組,它們必須共享一個通用名稱(在示例中省略),因此按名稱選擇它們更有意義。如果沒有選擇單選按鈕(這不應該被允許發生,但許多網頁忽略了良好的設計原則),那麼X,Y和Z按鈕應該被再次禁用似乎也是合理的。如果有人被禁用,他們可能也應該被取消選中。 – RobG 2011-06-15 23:42:07
0
甲聽者可以連接到該表和單選按鈕組可以通過名稱來引用。當表格中的單選按鈕上發生點擊事件時,可以根據特定組中的任何按鈕是否被選中來啓用或禁用X,Y和Z按鈕。該邏輯需要允許表單重置的情況,例如
<form>
<table id="table0" style="border: 1px solid black;">
<tr>
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<td><input type="radio" name="group1">
<tr>
<td><input type="reset">
<td>
<td>
</table>
<label for="r2-0">X <input type="radio" name="group2" id="r2-0" value="x"></label>
<label for="r2-1">Y <input type="radio" name="group2" id="r2-1" value="y"></label>
<label for="r2-2">Z <input type="radio" name="group2" id="r2-2" value="z"></label>
</form>
<script type="text/javascript">
function enableButtons() {
var buttons1 = document.getElementsByName('group1');
var buttons2 = document.getElementsByName('group2');
var checkedState = false;
// Check if any buttons in group 1 have been checked
for (var i=0, iLen=buttons1.length; i<iLen; i++) {
if (buttons1[i].checked) {
checkedState = true;
break;
}
}
// Enable or disable group 2 buttons based on above result
// When disabling, also uncheck any that are checked
for (var j=0, jLen=buttons2.length; j<jLen; j++) {
if (!checkedState) {
buttons2[j].checked = false;
buttons2[j].disabled = true;
} else {
buttons2[j].disabled = false;
}
}
}
window.onload = function() {
// Disable X, Y & Z buttons
var buttons = document.getElementsByName('group2');
for (var i=0, iLen=buttons.length; i<iLen; i++) {
buttons[i].disabled = true;
}
// Add onlick listener to table
var table = document.getElementById('table0');
if (table) table.onclick = function() {
window.setTimeout(enableButtons, 1);
}
}
</script>
相關問題
- 1. 啓用/禁用基於單選按鈕提交按鈕
- 2. 基於單選按鈕IsChecked的啓用按鈕
- 3. 啓用基於文本框和單選按鈕的按鈕
- 4. 如何啓用/禁用選擇單選按鈕的按鈕?
- 5. 禁用功能區按鈕
- 6. 功能「按鈕被禁用」
- 7. 基於選擇的JQuery啓用按鈕
- 8. 禁用/啓用MFC功能包的功能區按鈕
- 9. 如何基於複選框啓用/禁用提交按鈕?
- 10. 單選按鈕onChange功能
- 11. 基於其他單選按鈕的單選按鈕切換
- 12. 啓用基於單選按鈕選擇複選框
- 13. 基於Excel表格更改啓用/禁用功能區按鈕 - VSTO
- 14. .compute使用功能單選按鈕
- 15. 啓用/禁用MGWT按鈕
- 16. 啓用/禁用按鈕
- 17. 按鈕 - 啓用和禁用
- 18. 啓用和禁用按鈕
- 19. 禁用/啓用按鈕
- 20. Java啓用/禁用按鈕
- 21. 禁用和啓用按鈕
- 22. 單選按鈕啓用/禁用不按預期方式工作
- 23. 禁用基於PHP函數的單選按鈕
- 24. 禁用基於json值的按鈕
- 25. 禁用基於ID點擊的按鈕
- 26. 禁用基於Retrofit響應的按鈕
- 27. 基於單選按鈕選擇啓用文本字段
- 28. Wix - 基於單選按鈕的功能的有條件安裝
- 29. 單擊按鈕後禁用按鈕
- 30. 如何啓用或禁用基於angularjs中的值的按鈕?
我不清楚你在問什麼。你問是否應該啓用按鈕,或者如何啓用它們? – kinakuta 2011-06-15 22:12:58