22.07.2015, 20:43
|
Аспирант
|
|
Регистрация: 04.08.2014
Сообщений: 42
|
|
работа с атрибутами
Всем привет,
У меня есть таблица в ней напротив каждой строки чекбокс. При выборе строки(кликом по чекбоксу) мне надо для этой строки получить значение атрибута datum.
<tr class='sales_confirmation_no' datum='<?php echo $value['sales_date'] ?>'>
Вопрос:подскажите,пожалуйс та как мне получить значение атрибута datum из этой строки
|
|
22.07.2015, 21:23
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Если чекбокс где-то внутри tr, то:
$('tr[datum] input[type="checkbox"]').click( function(){
alert(
$(this).parents('tr[datum]').attr('datum')
);
})
Иначе потребно каким либо образом связать конкретный чекбокс с конкретным tr.
__________________
29375, 35
Последний раз редактировалось Aetae, 22.07.2015 в 21:26.
|
|
22.07.2015, 21:27
|
Аспирант
|
|
Регистрация: 22.07.2015
Сообщений: 68
|
|
А если снаружи
<table style="float: left">
<tr class='sales_confirmation_no' datum="foo">
<td>foo</td>
<td>foo</td>
<td>foo</td>
</tr>
<tr class='sales_confirmation_no' datum="bar">
<td>foo</td>
<td>foo</td>
<td>foo</td>
</tr>
<tr class='sales_confirmation_no' datum="baz">
<td>foo</td>
<td>foo</td>
<td>foo</td>
</tr>
</table>
<input type="checkbox" style="margin-bottom: 10px"><br>
<input type="checkbox" style="margin-bottom: 10px"><br>
<input type="checkbox" style="margin-bottom: 10px"><br>
<script>
trs=[].map.call(document.querySelectorAll("tr"), function(x){return x})
;[].forEach.call(document.querySelectorAll("input[type=checkbox]"), function(x, i){
x.onclick=function(){alert(trs[i].getAttribute("datum"))}
})
</script>
|
|
22.07.2015, 21:35
|
Аспирант
|
|
Регистрация: 04.08.2014
Сообщений: 42
|
|
спасибо,работает
|
|
22.07.2015, 22:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от tysonfury2015
|
trs=[].map.call
|
это зачем?
|
|
22.07.2015, 22:38
|
Аспирант
|
|
Регистрация: 22.07.2015
Сообщений: 68
|
|
Сообщение от рони
|
это зачем?
|
Чтобы получить коллекцию в виде массива. Я знаю, там есть какая-то нативная фигня для этого, что-то типа toArray, но я не помню
|
|
22.07.2015, 22:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,126
|
|
Сообщение от tysonfury2015
|
Чтобы получить коллекцию в виде массива.
|
можно узнать а зачем? зачем нужен массив?
|
|
22.07.2015, 22:51
|
Аспирант
|
|
Регистрация: 22.07.2015
Сообщений: 68
|
|
Сообщение от рони
|
можно узнать а зачем? зачем нужен массив?
|
Да, он наверное там не нужен, там и так, по ключам все выдернется, ты прав. Во всяком случае, в данном примере. Просто с массивом как-то надежней, хз, что там может выкинуть эта гребаная коллекция.
|
|
22.07.2015, 23:02
|
Аспирант
|
|
Регистрация: 22.07.2015
Сообщений: 68
|
|
рони,
Кстати, если говорить не для данного случая, а вообще, тут такая фигня может получится. допустим, ты получил коллекцию, в которой 3 числовых элемента. и потом, вызываешь, collection[5]. у тебя перформанс уйдет в говно, потому что лукап пойдет по всем ключам, и по всем прототипам, об этом тоже забывать не надо. Не знаю, может такие вещи сейчас оптимизируются, но в ручную оно всяко спокойней
Последний раз редактировалось tysonfury2015, 22.07.2015 в 23:08.
|
|
|
|