Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить значение из таблицы (https://javascript.ru/forum/jquery/17904-poluchit-znachenie-iz-tablicy.html)

morf 08.06.2011 11:00

Получить значение из таблицы
 
Всем привет! Все перепробовал, ничего не получается. Поможите :)
Необходимо получить значение класса attr_name и attr_value по конкретному tr id.
Таблица:
<table id="abonattrtable" class="tablesorter">
		<thead> 
			<tr><th>Опции</th><th>Название атрибута</th><th>Комментарий</th></tr>
		</thead> 
		<tbody> 
			<tr id='#userid1'>
					<td><a href='javascript:;' title='Edit User' class='edituser' onclick='editUser(1);'>Edit</a></td>
					<td class=attr_name>Договор</td>
					<td class=attr_value>В этом атрибуте хранятся номера договоров абонентов.</td>
			</tr>
             <tr id='#userid2'>
					<td><a href='javascript:;' title='Edit User' class='edituser' onclick='editUser(2);'>Edit</a></td>
					<td class=attr_name>Ф.И.О.</td>
					<td  class=attr_value>Фамилия Имя отчество</td>
             </tr>

		</tbody> 
	</table>

То, что я поделал:
<script>
function editUser(id){
				var user = $('#userid'+id);
				var attr_name= user.find('.attr_name').text();
				var attr_value= user.find('.attr_value').text();
				alert(''+attr_name+' '+attr_value+'');
}
</script>



Если использовать не таблицу, а div со span, то работает:
<div id="userid1" class="user">
<span class="controls">
						<a href="javascript:;" title="Edit User" class="edituser" onclick="editUser(1);">Edit</a>

					</span>
					<span class="attr_name">123</span>
					<span class="attr_value">123</span>
				</div>
				
				<div id="userid2" class="user">
					<span class="controls">
						<a href="javascript:;" title="Edit User" class="edituser" onclick="editUser(2);">Edit</a>

					</span>
					<span class="attr_name">123</span>
					<span class="attr_value">123</span>
				</div>

Ничего не находит :(
Jquery подключена 1.4.2

ksa 08.06.2011 11:27

Как вариант...

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
</style>
<script type="text/javascript">
function Get(N) {
	var o=document.getElementById('#userid'+N)
	var val=o.cells[1].innerHTML
	val=val+' = '+o.cells[2].innerHTML
	alert(val)
}
</script>
</head>
<body>
<table id="abonattrtable" class="tablesorter">
<thead> 
	<tr><th>Опции</th><th>Название атрибута</th><th>Комментарий</th></tr>
</thead> 
<tbody> 
	<tr id='#userid1'>
			<td><a href='javascript:;' title='Edit User' class='edituser' onclick='editUser(1);'>Edit</a></td>
			<td class=attr_name>Договор</td>
			<td class=attr_value>В этом атрибуте хранятся номера договоров абонентов.</td>
	</tr>
	 <tr id='#userid2'>
			<td><a href='javascript:;' title='Edit User' class='edituser' onclick='editUser(2);'>Edit</a></td>
			<td class=attr_name>Ф.И.О.</td>
			<td  class=attr_value>Фамилия Имя отчество</td>
	 </tr>

</tbody> 
</table>
<input type='button' value='Get' onclick='Get(1)' />
</body>
</html>

morf 08.06.2011 12:00

Спасибо большое за ответ!
Я попробую.
А если необходимо будет заменить значение?
В Функции у меня будет отсылаться post на мой скрипт, который будет выводить либо true либо false. По результатам, которого я должен буду поменять значение у конкретного tr id в ячейке td с классом attr_name или attr_value ?
То, как быть тут?

ksa 08.06.2011 12:10

Цитата:

Сообщение от morf
А если необходимо будет заменить значение?

Свойство innerHTML доступно не только для чтения ;)

walik 08.06.2011 12:22

Вы в таблице не правильно задавали ID.
Цитата:

Сообщение от morf
<tr id='#userid1'>

Не нужно ставить решетку.

В ДИВах вы не ставили решетку
Цитата:

Сообщение от morf
<div id="userid2" class="user">

По этому и работало.

morf 08.06.2011 12:59

Цитата:

Сообщение от walik (Сообщение 107763)
Вы в таблице не правильно задавали ID.

Не нужно ставить решетку.

В ДИВах вы не ставили решетку

По этому и работало.

Чувствую себя глупым :)
Вот я ступидо, с самого начала правильно сделал
Спасибо, отличный форум!


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