S_A
S_A

Reputation: 423

Get value from js and pass it as parameter

I have a table in HTML file:

{% for dimension in dimension_list %}
     <tr>
      <td>{{dimension.title}}</td>
      <td>{{dimension.description}}</td>
      <div class="button-group">          
        <td><button type="button" class="btn-click-del" data- 
        id="{{dimension.pk}}" id="btn-confirm" ></button></td>
      </div>
     </tr>  
{% endfor %}  

So I receive the value data-id (button) and pass it to a model:

 $('.btn-click-del').on('click', function () {      
    var id = ($(this).data('id'));
    $("#modal-btn-yes").val(id);
});

In the modal, I need to pass this id as parameter to the function dimension_remove in my yes button

div class="modal-dialog modal-bg modal-dialog-centered">
    <button onclick="location.href='{% url 'dimension_remove' pk=dimension.id %}';" type="button" class="btn btn-default" id="modal-btn-yes">Yes</button>
    <button type="button" class="btn btn-primary" id="modal-btn-no">No</button>    
</div>

Upvotes: 1

Views: 40

Answers (1)

Zakaria Acharki
Zakaria Acharki

Reputation: 67505

I suggest to attach the click event in your JS part instead and attach the id to the data-id to the modal-btn-yes then get it simply and build your URL.

Attach the data-id to the modal-btn-yes button :

$('.btn-click-del').on('click', function() {
  $("#modal-btn-yes").data('id', $(this).data('id'));
});

Get the data-id and build the URL :

$('body').on('click', '#modal-btn-yes', function() {
  //Here you could get the clicked button "id" like
  var id = $(this).data('id');

  //location.href= Your link here
});

Upvotes: 1

Related Questions