Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получения ID по onclick (https://javascript.ru/forum/events/53591-polucheniya-id-po-onclick.html)

рони 11.02.2015 21:49

ghostcom,
может вам тут помедитировать http://www.jstree.com/

ghostcom 13.02.2015 07:11

не хочу показаться навязчевым, но деваться не куда без советов не справлюсь.
Пытаюсь вывести несколько значений одного обьекта, выводит только одно
document.write('<li class="cat" id="' + data[json].id + '" parent_id="' + data[json].parent_id + '" ><button class="subsections">' + data[json].name + '</button></li>')
$(function(){
            $('.cat').click(function(event){
		    var parent_id = this.parent_id;
                    var id = this.id;            
	     })
	   })
     alert(this.id,this.parent_id)

id выводит, а parent_id не могу как бы не прописывал.
пробовал с attr
var parent_id = $(this).attr('parent_id')

и опять id есть а parent_id нет!? WTF.
Подскажите как взять два значения, а то и три???
Может команда с var id прописана в библе поэтому и работает, а остальное не хочет(jquery-1.11.2.js)

рони 13.02.2015 07:52

ghostcom,
почему alert в строке 8 а не 5
document.write -- кактус - мыши кололись но ели
this.parent_id нет такого свойства
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

</head>

<body>
<script>
     var json = 0,
      data = [{
          id: 2000,
          parent_id: 5000,
          name: 'test'
      }]
  document.write('<li class="cat" id="' + data[json].id + '" parent_id="' + data[json].parent_id + '" ><button class="subsections">' + data[json].name + '</button></li>')
  $(function() {
      $('.cat').click(function(event) {
          var parent_id = $(this).attr('parent_id');
          var id = this.id;
          alert([id, parent_id])

      })
  })
</script>


</body>

</html>

ghostcom 13.02.2015 17:13

Спасибо, но я так и делаю. Почему в моем документе не работает:blink:
А можно рони вам в личку мой код кинуть?

ghostcom 13.02.2015 17:33

А подскажите возможно ли как то отчистить или делать сброс ячеек хранящих эти значения??

рони 13.02.2015 17:38

Цитата:

Сообщение от ghostcom
А подскажите возможно ли как то отчистить или делать сброс ячеек хранящих эти значения??

это вы счас с кем и о чём?

рони 13.02.2015 17:39

ghostcom,
может с азов начать -- как вставить элемент без jquery и document.write

ghostcom 13.02.2015 17:47

Цитата:

Сообщение от рони (Сообщение 356558)
это вы счас с кем и о чём?

Я с вами)) Да я уже сам не знаю о чем я

ghostcom 13.02.2015 17:52

Цитата:

Сообщение от рони (Сообщение 356559)
ghostcom,
может с азов начать -- как вставить элемент без jquery и document.write

Хотелось бы чтоб с Ajax работало, а по поводу document.write мне кажется что я уже все варианты перепробовал и не добился нужного результата. Недели три сижу мучаюсь 40 сторок туда сюда гоняю и нифига.

ghostcom 17.02.2015 19:08

Чтоб темы не плодить спрошу здесь
{
    "models": [
        {
            "key": 5268,
            "name": "Heart",
            "photo": {
                "code": "10839",
                "width": 800,
                "height": 601
            }
        }
    ],
    "items": {
        "010": {
            "article": "010",
            "id": "89",
            "name": "gavs",
             },
         
        }
}

как такой массив выводить? Интересует только сама структура
+ data?[json?].??? +

var requestUrl = 'https://ссссс?json';
    var request = {
                 auth_key: 'ссссссс',
		 params: {
					   page : 1,
					   limit : 20,
                         }
                  };
    var data = 'data=' + JSON.stringify(request);
	$.ajax({
           url: requestUrl,
          type: 'POST',
      dataType: 'json',
          data: data
          })  
	  .done(function(data) {
           for (json in data) {
			   var tr = document.getElementsByClassName("tr_items")[0];
				
                  var docfrag = document.createDocumentFragment();
                  var itemName = ['' + data[json].items.article + '']; // не работает
                  /*var photo = [''];*/
                     itemName.forEach(function(e) {
                         var td = document.createElement("td");
						 td.setAttribute("class", "itemName");
						 td.setAttribute("id", ' + data[json].id + '); // не работает
                         td.textContent = e;
                         docfrag.appendChild(td);
                          });
                 tr.appendChild(docfrag); 
	       
		   }


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