Как я могу получить идентификатор записи, когда кто-то воспроизводит аудио?

#javascript #php #jquery

#javascript #php #jquery

Вопрос:

Чего я хочу добиться, так это прикрепить идентификатор записи к элементу управления звуком HTML при его воспроизведении. Я нашел способ получить ответ, когда кто-то нажимает на кнопку воспроизведения.

Теперь у меня возникают проблемы с привязкой идентификатора записи к этому js, чтобы я мог ПОДСЧИТАТЬ, сколько раз было воспроизведено аудио в формате HTML с правильными данными.

 <div id="293">
    <audio class="6" id="mAudio" controls="">
      <source src="horse.mp3">
    </audio>
  

Первый фрагмент кода — это мой элемент управления звуком, созданный с помощью div-с идентификатором записи

  window.onload=function(){
    var player = document.getElementById("mAudio");
    player.addEventListener("play", function () {

        console.log("audio playing");
        var post_id = $(this).data('post_id');
        var action = 'play';
        alert('Post id :'   post_id);
        $.ajax({
            url:"action.php",
            method:"POST",
            data:{post_id:post_id, action:action},
            success:function(data)
            {
               /* alert(data);*/
                fetch_post();
            }
        })
    });
}
  

Затем приведенный выше код, поскольку я пытаюсь получить идентификатор записи, говорит UNDEFINED

Комментарии:

1. У меня есть несколько записей из базы данных

2. $(this).data('post_id') где вы это определяете? Чего вы ожидаете от этого?

3. Это была моя попытка получить POST_ID, я попробовал несколько попыток, но вижу, что у меня ничего не получается

4. Откуда вы ожидаете POST_ID прийти? Что вы ожидаете от этого?

5. Я подумал, может быть, это «$ (this).data (‘post_id’)» должно было дать этот идентификатор div, потому что этот идентификатор div — это идентификатор записи, который я ищу

Ответ №1:

Вам нужно вернуться к div, который содержит id. Вам нужно сделать это :

 var post_id = $(this).parent().attr('id');  

Комментарии:

1. this.parentElement.id даст вам идентификатор родительского элемента проигрывателя. Путем создания объекта jQuery.