Отключить кнопку, когда выбран конкретный ряд таблицы

0

Я хочу отключить определенную кнопку строки, а не все кнопки. Я пробовал использовать id но он скрывает только первую строку. Любая помощь будет приятной.

PHP:

$rowID=1;
while($row = oci_fetch_array($query))
{
  echo '<tr>

  <td>
      <a href="#" rel='.$rowID.' id="buttonq" class="button green ValueDisplay">
            <div class="icon" style="margin-left: 5px; margin-top: 5px;">
                   <span class="ico-edit"></span>
            </div>
      </a>
  </td>

  </tr>';
  $rowID++;
}

ЯШ:

<script>
$('.ValueDisplay').click(function()
{
   var getid = this.rel;

   $('#buttonq').css('visibility', 'hidden');
   //document.getElementById('buttonq'+getid+'').style.visibility="hidden";
});
</script>
  • 3
    Вы даете один и тот же идентификатор всем элементам. Это ошибка.
  • 0
    @MattThompson id="buttonq"
Показать ещё 12 комментариев
Теги:

2 ответа

2
Лучший ответ

Согласно моему комментарию: вы скрываете элемент с кликом, поэтому просто используйте:

$('.ValueDisplay').click(function(ev)
{
    ev.preventDefault();
    //show all buttons
    $('.ValueDisplay').show();
    // hide this one
    $(this).hide();
});

Вы также можете удалить идентификатор, так как это неверно, чтобы иметь дубликат идентификатора, и он, похоже, не служит цели:

<td>
  <a href="#" class="button green ValueDisplay">
        <div class="icon" style="margin-left: 5px; margin-top: 5px;">
               <span class="ico-edit"></span>
        </div>
  </a>
</td>
  • 0
    <td id="OFFbrief'.$rowID.'">'.$row['REMARKS'].'</td> я использую rowID для этой цели, поэтому я делаю это.
  • 1
    Хорошо, я не вижу такого вопроса. Рад, что смог помочь
Показать ещё 3 комментария
2

Если вам не нужен id для чего-то другого, вы можете просто переключить состояние определенной строки, на основе которой была нажата ссылка.

http://jsfiddle.net/XJVbD/

PHP

while($row = oci_fetch_array($query))
{
  echo '<tr>
    <td>
      <a href="#" class="button green ValueDisplay">
        <span class="icon" style="display: block; margin-left: 5px; margin-top: 5px;">
          <span class="ico-edit"></span>
        </span>
      </a>
    </td>    
  </tr>';
}

JQuery

$('.ValueDisplay').on('click', 'a', function(e) {
  e.preventDefault();
  $(this).closest('td').prop('disabled', 'disabled').hide();
});

Я не совсем понял, скрываешься ли ты или просто отключишь. Сообщите мне, если код выше не то, что вам нужно.

Заметки:

  • Пользователь нажимает на элемент ссылки, поэтому для предотвращения обновления страницы используйте e.preventDefault() в обработчике событий.

  • У вас есть элемент <div> внутри элемента привязки <a>, который, вероятно, не будет проверять, имеет ли это значение для вас.

  • 0
    спасибо за это тоже.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню