//JQuery Script one
$(document).ready(function(){
$('.table1').on('click',function(){
$('.table1shw').show();
});
});
//I try second method too but unable to display.
document.getElementById('sp1').addEventListener("click", function() {
showTable('t1');
});
function showTable(table) {
var tables = ['t1'];
for (var i = 0; i < 4; i++) {
document.getElementById(tables[i]).style.display = "none";
}
document.getElementById(table).style.display = "block";
}
.table-hide{
display: none;
}
<link href = "https://pro.fontawesome.com/releases/v5.10.0/css/fontawesome.css" rel = "stylesheet"/>
<link href = "https://pro.fontawesome.com/releases/v5.10.0/css/all.css" rel = "stylesheet"/>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel = "stylesheet"/>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class = "col-md-12 col-12 table-responsive">
<div class = "form-group">
<div class = "col-md-12" style = "padding: 10px !important;" align = "center">
<div class = "form-group">Main heading</div>
</div>
<table class = "table table-hover">
<thead class = "lbbg3">
<tr>
<td style = "width: 800px;">Sub heading 1</td>
<td>Sub heading 2</td>
</tr>
</thead>
<tbody>
<tr>
<th style = "background: #eef7fc; text-align: left;" colspan = "2"><button class = "table-plus-btn table1" id = "sp1"><i class = "fa fa-plus"></i></div> <button class = "table-minus-btn"><i class = "fa fa-minus"></i></button> Child Heading</th>
</tr>
<tr>
<td colspan = "2">
<div class = "table1shw"> <table class = "table1 table-hover table-hide" id = "t1"> <tr>
<td style = "text-align: left;width: 800px;">
Row 1
</td>
<td style = "text-align: center;">
<div class = "custom-control custom-radio radio-table">
<a href = "#doc"> <input type = "radio" id = "customRadio50" name = "customRadio" class = "custom-control-input fcy edu docbtn">
<label class = "custom-control-label" for = "customRadio50" style = "cursor: pointer;" onchange = "valueChanged()"></label></a>
</div>
</td>
</tr>
<tr>
<td style = "text-align: left;width: 800px;">
Row 2
</td>
<td style = "text-align: center;">
<div class = "custom-control custom-radio radio-table ">
<input type = "radio" id = "customRadio51" name = "customRadio" class = "custom-control-input fcy">
<label class = "custom-control-label" for = "customRadio51" style = "cursor: pointer;"></label>
</div>
</td>
</tr>
</table></div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
Привет спасибо! я пытаюсь отобразить полную таблицу, как только я нажимаю кнопку «плюс», и та же таблица скрывается, когда я нажимаю кнопку «минус». Я бы сделал это двумя разными способами, но мне не повезло. поэтому я разочаровался в этом, как исправить, можете ли вы сказать мне, что я делаю неправильно и где. Пожалуйста помоги.
Вы не вызываете .show()
правильный элемент.
Я обновил ваш код -
$(document).ready(function() {
$("#t1").hide(); // hide table by default
$('#sp1').on('click', function() {
$("#t1").show();
});
$('#close').on('click', function() {
$("#t1").hide();
});
});
<link href = "https://pro.fontawesome.com/releases/v5.10.0/css/fontawesome.css" rel = "stylesheet" />
<link href = "https://pro.fontawesome.com/releases/v5.10.0/css/all.css" rel = "stylesheet" />
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel = "stylesheet" />
<div class = "col-md-12 col-12 table-responsive">
<div class = "form-group">
<div class = "col-md-12" style = "padding: 10px !important;" align = "center">
<div class = "form-group">Main heading</div>
</div>
<table class = "table table-hover">
<thead class = "lbbg3">
<tr>
<td style = "width: 800px;">Sub heading 1</td>
<td>Sub heading 2</td>
</tr>
</thead>
<tbody>
<tr>
<th style = "background: #eef7fc; text-align: left;" colspan = "2">
<button class = "table-plus-btn table1" id = "sp1"><i class = "fa fa-plus"></i></button><button class = "table-minus-btn" id = "close"><i class = "fa fa-minus"></i></button> Child Heading
</th>
</tr>
<tr>
<td colspan = "2">
<div class = "table1shw">
<table class = "table1 table-hover" id = "t1">
<tr>
<td style = "text-align: left; width: 800px;">
Row 1
</td>
<td style = "text-align: center;">
<div class = "custom-control custom-radio radio-table">
<a href = "#doc">
<input type = "radio" id = "customRadio50" name = "customRadio" class = "custom-control-input fcy edu docbtn" />
<label class = "custom-control-label" for = "customRadio50" style = "cursor: pointer;" onchange = "valueChanged()"></label>
</a>
</div>
</td>
</tr>
<tr>
<td style = "text-align: left; width: 800px;">
Row 2
</td>
<td style = "text-align: center;">
<div class = "custom-control custom-radio radio-table">
<input type = "radio" id = "customRadio51" name = "customRadio" class = "custom-control-input fcy" />
<label class = "custom-control-label" for = "customRadio51" style = "cursor: pointer;"></label>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
У меня изменения -
$("#t1").hide();
- Скрыть таблицу по умолчанию, используйте t1
, который является идентификатором таблицы
Добавьте обработчик кликов на sp1
, который является идентификатором кнопки плюс, и покажите таблицу внутри события -
$('#sp1').on('click', function() {
$("#t1").show();
});
Наконец, добавьте обработчик нажатия на кнопку закрытия по ее идентификатору close
$('#close').on('click', function() {
$("#t1").hide();
});
пожалуйста, приведите в порядок свой html-код.