2017-01-17 3 views
0

Я использую symfony, а на twig выставляем некоторые данные массива и устанавливаем флажок в js, для выбора события, для создания ajax и отправки данных в другое действие. Мой вопрос, как отправить больше параметров, теперь посылает не только идентификатор, потому что добавляет идентификатор к атрибуту ввода тега, но также нужно добавить адрес. Где добавить address?:Событие флажков Symfony, ajax с несколькими полями

{% for taskExecution in taskExecutions %} 
     <tr> 
      <td> 
       <input class="searchType" type="checkbox" name="SharingNotification" id={{ taskExecution.id }}> 
        <label class="searchtype2label"></label> 
       </input> 
      </td> 
      <td> 
       {{ taskExecution.address }} 
      </td> 
{% endfor %} 

мои JS

$('.searchType').click(function(event) { 
    var objToSend = {}; 
    objToSend[event.target.id] = $(this).is(":checked") === true ? 1 : 0; 
    $.ajax({ 
     type: "POST", 
     url: '/app_dev.php/api/bound_invoice/rows/froms/tasks', 
     data: {ids: objToSend}, 
     success: function (data) { 
      alert('it worked'); 
      alert(data); 
      $('#container').html(data); 
     }, 
     error: function() { 
      alert('it broke'); 
     }, 
     complete: function() { 
      alert('it completed'); 
     } 
    }); 
} 

);

Я хочу послать еще один атрибут, например, taskExecution.address как этот

 objToSend['address'] = [event.target.address]; 

, как можно это сделать?

ответ

0

Если я правильно понимаю ваш вопрос, что-то вроде следующего должен сделать трюк:

$('.searchType').click(function(event) { 
    $.ajax({ 
     type: "POST", 
     url: '/app_dev.php/api/bound_invoice/rows/froms/tasks', 
     data: { 
      ids: { event.target.id : $(this).is(":checked") === true ? 1 : 0 }, 
      address : event.target.address 
     }, 
     success: function (data) { 
      alert('it worked'); 
      alert(data); 
      $('#container').html(data); 
     }, 
     error: function() { 
      alert('it broke'); 
     }, 
     complete: function() { 
      alert('it completed'); 
     } 
    }); 
} 

);

Проблема с вашим кодом заключалась в том, что вы добавляли все, что хотите отправить в свойство «ids» вашего объекта данных. С моим изменением ids будет передано как 1 или 0, и address будет передано с требуемым значением.

+0

в консоли 'event.target.address undefined' –

+0

Мне нужно добавить где-то параметр' address', а затем вызвать js, как добавить параметр? –

+0

'event.target.address' * ваш * код. Я продемонстрировал, как добавить параметр в запрос AJAX, если свойство, которое вы задали в своем вопросе, не существует, вам нужно использовать другое значение. – AmericanUmlaut

Смежные вопросы