Как найти div с использованием id и data jquery?

Тема в разделе "JavaScript", создана пользователем usergeyv, 9 ноя 2018.

  1. usergeyv

    usergeyv Постоялец

    Регистр.:
    5 июл 2013
    Сообщения:
    131
    Симпатии:
    21
    например
    HTML:
    <div id="div-1" data-level="1">тык</div>
    <div id="rez1"></div>
    <div id="div-2" data-level="2">тык</div>
    <div id="rez2"></div>
    <div id="div-3" data-level="3">тык</div>
    <div id="rez3"></div>
    и так далее
    
    как написать функцию?
    Вот что я хочу
    HTML:
    
    //var vaLue = $('[data-level]')// нужно определить переменную,не знаю как сделать
      $("#div-"+vaLue).click(function() {
            $.ajax({
            url:     url, 
            type:     "POST", 
            dataType: "html", 
            data: {news: vaLue},  
            success: function(response) {
                result = $.parseJSON(response);
            if (result.status == 'ERROR') {
            alert( "Ошибка! Повторите попытку позже." );
                  } else if (result.status == 'OK') {
                  $('#rez'+vaLue).html(result.response);
                }
    
            },
            error: function(response) { 
            alert( "Ошибка! Повторите попытку позже." );
            }
        });   
          });
    
    Как повесить на клик по нужному элементу и записать в нужный div результат?
    PS. HTML подгружается на страницу с помощью ajax
     
  2. BaNru

    BaNru

    Регистр.:
    20 ноя 2008
    Сообщения:
    155
    Симпатии:
    69
    Такое надо?
    Код:
    $("#div-"+vaLue+'[data-level="'+vaLue+'"]')
    Или такое?
    Код:
    $("#div-"+vaLue).click(function() {
      thisvaLue = this.dataset.level;
      $.ajax({
      ...
       $('#rez'+thisvaLue).html(result.response);
      ...
     
  3. borodatych

    borodatych Постоялец

    Регистр.:
    24 июн 2016
    Сообщения:
    101
    Симпатии:
    59
    HTML:
    <div class="click-btn" data-level="1">тык</div>
    <div id="rez1"></div>
    <div class="click-btn" data-level="2">тык</div>
    <div id="rez2"></div>
    <div class="click-btn" data-level="3">тык</div>
    <div id="rez3"></div>
    
    <script>
        $(".click-btn").click(function() {
            let url = '';
            let vaLue = $(this).data('level');
            $.ajax({
                url:     url,
                type:     "POST",
                dataType: "html",
                data: {news: vaLue},
                success: function(response) {
                    result = $.parseJSON(response);
                    if (result.status == 'ERROR') {
                        alert( "Ошибка! Повторите попытку позже." );
                    } else if (result.status == 'OK') {
                        $('#rez'+vaLue).html(result.response);
                    }
    
                },
                error: function(response) {
                    alert( "Ошибка! Повторите попытку позже." );
                }
            });
        });
    </script>
     
    usergeyv нравится это.