2013-10-03 3 views
0

выпуска: У меня есть данные Добавление данных JSON в HTML таблицу вот как:Html TD обратно в DOM

In a Loop-> 
var image = document.createElement('img'); 
image.src = data.data[i].picture.data.url; 
var td=document.createElement('td'); 
var input=document.createElement('input'); 
input.setAttribute('type', 'checkbox'); 
input.setAttribute('onclick', 'testCheckBox()'); 
input.setAttribute('id','testid' + i) 
td.setAttribute('onclick','tdClick()') 
td.setAttribute('title',data.data[i].name); 
td.setAttribute('id',''+ i); 
td.appendChild(input); 
td.appendChild(image); 
tr.appendChild(td) ; 
mytable.appendChild(tr); 
} 
$('#maincontent').append(mytable); 

После этого я получил нужные мне данные в атрибутах, теперь я хочу, чтобы понять, как можно Я получаю TD = ID, и любой другой вид атрибутов после такого рода клик или другой, от каждого тд ... это отличается Edit: Функция фиксируется на это:

function testCheckBox() 
{ 
    $(':checkbox').change(function(){ 
     var i = $(this).closest('input').attr('id'); 
     var id = $(this).closest('td').attr('id'); 
     var fbname = $(this).closest('td').attr('title'); 

     console.log(id + ' : ' + this.checked); 
     console.log(fbname + ' : ' + this.checked); 
     console.log(i + ' : ' + this.checked); 
      friend_name[i]=fbname; 
      friend_id[i]=id; 
    }); 
} 
       console.log(friend_name); 

Рабочая просто ЗДОРОВО! новая проблема в том, что .. если я сниму этот флажок. Я не знаю, как удалить его из массива!

и еще один вопрос: могу ли я сделать 1 массив, а не 2 Как здесь? что у «я» будет 2 элемента внутри?

+0

'это то, что я получаю:': Где результат 'what you get'? –

+0

То, что вы описываете, - это ожидаемое поведение. jQuery 'html' возвращает innerHTML. Когда вы нажимаете на td, вы выводите свой внутренний html. Вы добавили к нему вход и изображение, и это то, что регистрируется. –

ответ

1

Вы не отвечаете на правильный вопрос, я имею в виду, вы запрашиваете .html(), а не значение ID.

HTML()

Получить HTML содержимое первого элемента в наборе соответствующих элементов или установить HTML-содержимое каждого элемента.

Попробуйте это:

console.log($(this).attr('id')); 

attr()

Получить значение атрибута для первого элемента в наборе соответствующих элементов или установить один или несколько атрибутов для каждой соответствует элемент.

+0

для javascript без jquery вы бы использовали this.id (Как ссылка, похоже, что они не запрашивали ответ jquery, хотя использовали его ...) – Snowburnt

Смежные вопросы