Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Узнать, какой выбран id (https://javascript.ru/forum/dom-window/36861-uznat-kakojj-vybran-id.html)

essere 29.03.2013 18:00

Узнать, какой выбран id
 
Всем добра. Пару часов помучился, поэтому обращаюсь к знатокам сего :)
Есть список кнопок
<a  href="#" type="button" >Правка</a>
<a  href="#" type="button" >Правка</a>
<a  href="#" type="button" >Правка</a>
<a  href="#" type="button" >Правка</a>

Суть в том, что эти кнопки находятся в таблице: одна строка — одна кнопка.
Была мысль набить атрибут id, например или name, или вообще собственное имя. И туда запиливать числовой id строки (из БД).
Например:
<a  href="#" name="11" type="button" >Правка</a>
<a  href="#" name="5" type="button" >Правка</a>
<a  href="#" name="3" type="button" >Правка</a>
<a  href="#" name="8" type="button" >Правка</a>

Вот сижу и думаю, как мне найти, какая именно кнопка нажата?
Да, можно
onclick="getval(номер)"
но тогда я Jquery не смогу работать
Да, можно использовать
$(this).attr('name');
Но как мне саму кнопку то идентифицировать? :)
Спасибо за внимание.

danik.js 29.03.2013 19:33

1) Атрибут type ссылки должен указывать тип ресурса, на который она ведет, например text/html, application/pdf и тд. Что за тип такой button, а?
2) Ты всегда можешь воспользоваться атрибутом data-*, тем более что jquery прекрасно с ним дружит.
Цитата:

Сообщение от essere
Но как мне саму кнопку то идентифицировать?

Помоему ты сам не понимаешь что тебе надо.

<a href="#" data-id="11">Правка</a>
<a href="#" data-id="5">Правка</a>
<a href="#" data-id="3">Правка</a>
<a href="#" data-id="8">Правка</a>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
    $('a').click(function(e){
        var id = $(this).data('id');
        alert('Мой id :' + id);
    });
</script>


Ничего проще и вообразить даже нельзя..

essere 30.03.2013 07:14

Да, спасибо Вам. Под вечер что то я уработался.

essere 30.03.2013 07:32

Ответ к 1-му вопросу, это css famework twitter bootstrap. На самом деле я обычно так не делаю, просто в качестве примера надо было что то показать ;)
Но это делается в принципе, когда этот объект не будет выполнять роль ссылки. А скорее будет просто как то участвовать в интерфейсе.

essere 30.03.2013 07:55

Ну и по пути последний вопрос спрошу все таки:
Получил я таблицу следующей структуры

Там где мы ID получали, выделено синим цветом :) А как мне получить текст, лежащий в родительском TD "Проблемы с акаунтом"
Были предположения такие:
$('tr td a').click(function () {
        $('#currentcatid').val($(this).data('id'));
        
        alert($(this).parent().prev().prev().val());

     });

Потому, тому td решил дать id или класс
$('tr td a').click(function () {
        $('#currentcatid').val($(this).data('id'));
        
        alert($(this).parent('сюда_передавал_имя_класса').val());

     });

И все равно что то не вкатывало. Где не так делаю? :)

danik.js 30.03.2013 10:09

не val(), а text()

essere 30.03.2013 11:10

Спасибо, Вы правы.


Часовой пояс GMT +3, время: 10:15.