jquery как достучаться до объекта - получить его значение

310
13 февраля 2017, 16:44

Я получаю объект с youtube и закидываю данные в таблицу на сайте. есть код:

productsModule.controller("addNewVideo", function ($scope, $http, $rootScope) {
$scope.addNewVideo = function () {
/*======  GET DATA FROM YOUTUBE API =========*/
$.getJSON('https://www.googleapis.com/youtube/v3/videos?id=' + $scope.videourl + "&key=AIzaSyDnyf5NK_oWcdWjFw6VrILvGg2STG292eE&part=snippet&callback=?", function (data) {
    if (typeof (data.items[0]) != "undefined") {
        var title = "";
        title = JSON.stringify(data.items[0].snippet.title);
        title = title.substring(1, title.length - 1);
        title = title.split("-");
        console.log(data.items[0]);
        //====== CREATE OBJECT OF NEW SONG
        var newSong = {
                "artist": title[0],
                "song": title[1],
                "songID": $scope.videourl
            }
            //  $scope.videourl = "test11" ;
        var tr = '<tr><td class=" songID hide" contenteditable="false">'     + $scope.videourl + '</td><td id="artistName" class="x2" name="x1" contenteditable="true">' + title[0] + '</td>  <td id="songName" contenteditable="true">' + title[1] + '</td><td> <span class="table-remove glyphicon glyphicon-remove"></span></td><td> <span class="table-play glyphicon glyphicon-play-circle"></span></td><td>  <span class="table-save glyphicon glyphicon-save"></span></td></tr>';
        $("#songTable").append(tr);

я получаю строку на своем сайте с данными.(строк может быть сколько угодно) следующий акт марлезонского балета - при нажатии на кнопку "сохранить", я должен забрать данные с своей HTML страницы и переправить их в базу данных. забрать нужно ID, имя артиста и название песни. У меня не получается достучаться до данных.

// add song to table songs  
$('.table-save').click(function () { // удалить запись о песне
    //  var x1 = $(this).find("x1").value;
    var x1 = $(this).parent().find(".x2").val;
    alert(x1);

пришел к тому что получаю много данных... но что дальше???

Answer 1

Всем спасибо - разобрался. Если кому будет нужно - вот действующий код:

  $('.table-save').click(function () {
                var newSongObj = {};
                $(this).parent().parent().find(".x2").each(function () {
                    var objAttr = $(this).attr("id");
                    newSongObj[objAttr] = $(this).html();
                })
                console.log(newSongObj);
                $http.post('/addSongToDB', newSongObj).then(function (response) {
                    //alert(JSON.stringify(response.data));
                    var xxx = JSON.stringify(response.data);

                });
READ ALSO
Как убрать активный класс с элемента при клике, если он уже имеет этот класс?

Как убрать активный класс с элемента при клике, если он уже имеет этот класс?

Не получается найти ошибку, почему класс не убирается при клике на элемент который уже имеет этот класс html:

235
по нажатию одной кнопки нажимались и другие

по нажатию одной кнопки нажимались и другие

Всем приветНачал изучать html/css

400
Rails запит javacript помилка [требует правки]

Rails запит javacript помилка [требует правки]

Добрый день у меня есть проблема и она сводит меня с умакод

240
Не понимаю, в чем проблема?

Не понимаю, в чем проблема?

Есть задача: нужно вызвать функцию sumTo с аргументом nn - это сколько раз нужно добавить к i единицу

222