Я новичок в сети. У меня есть такая таблица:Скрыть кнопки на странице по специальному атрибуту JQuery
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@item.DateStart.ToShortDateString()
</td>
<td>
@item.DateEnd.ToShortDateString()
</td>
<td data-name="@item.Id" data-approved="@item.Approved.ToString()">
@item.Approved.ToString()
</td>
<td>
@item.FirstName.ToString() @item.LastName.ToString()
</td>
<td>
@item.Position.ToString()
</td>
<td>
<button class="btn btn-primary accept-button" data-id="@item.Id">Accept</button>
<button class="btn btn-danger decline-button" data-id="@item.Id"> Decline</button>
</td>
</tr>
}
</tbody>
И я написал сценарий для кнопок на этой странице:
$(document).ready(function() {
$('#requestTable').DataTable(
{
aoColumns: [
{ mDataProp: "DateStart", sTitle: "Date Start" },
{ mDataProp: "DateEnd", sTitle: "Date End" },
{ mDataProp: "Approved", sTitle: "Approved" },
{ mDataProp: "Data", sTitle: "Employee" },
{ mDataProp: "Position", sTitle: "Position" },
{ mDataProp: "", sTitle: "" }
],
columnDefs: [{
targets: 'no-sort',
orderable: false
}]
});
$('button.accept-button').click(function() {
var id = $(this).attr('data-id')
var appr = $('td[data-name="' + id + '"]');
appr[0].textContent = "True";
$.ajax({
type: "POST",
url: "/TableRequest/AcceptRequest",
data: { 'id': id },
success: function (msg) {
}
});
});
var tempId;
$('button.decline-button').click(function() {
tempId = $(this).attr('data-id')
var appr = $('td[data-name="' + tempId + '"]');
appr[0].textContent = "False";
$("#dialog").dialog()
});
$('button.ok-request').click(function() {
var message = $('textarea#commentForDecline').val();
$.ajax({
type: "POST",
url: "/TableRequest/DeclineRequest",
data: { 'message': message, 'id': tempId },
success: function (msg) {
}
});
$("#dialog").dialog('close');
$('textarea#commentForDecline').val('');
});
hideButtons();
});
function hideButtons(){
// var appr = $('td[data-name="' + id + '"]');
var appr = $("td[data-approved='false']");
var
if(appr[0].textContent == "True")
{
$('button.accept-button').hide();
}
if(appr[0].textContent == "False")
{
$('button.decline-button').hide();
}
};
Я хочу, чтобы скрыть кнопки в зависимости от Approved
поля в таблице. Если верно @item.Approved.ToString()
- нужно скрыть, но «принять», иначе - «уклонение». Может кто-нибудь мне помочь?
Вы можете скрыть с помощью $ (селектор) .hide() и показать с помощью $ (selector) .show(); – Taplar
Мне нужно сделать это для всех кнопок на странице. У меня есть стол со множеством кнопок. Когда я нажимаю на любую кнопку - значение изменится, и я должен скрыть эту кнопку и показать другую. – Alexander
Да. $ ('button'). on ('click', function() {/ * изменить значение */$ (this) .hide(); $ (otherButtonSelector) .show();}); – Taplar