2017-01-17 3 views
0

私はsymfonyを使って、いくつかの配列データをレンダリングし、jsでイベントクリック、チェックボックス、ajaxを作成し、別のアクションでデータを送信します。私の質問は、より多くのパラメータを送信する方法、今だけでなく、だけでなく、IDを入力属性にタグを追加するので、送信する必要がありますアドレスを追加する必要があります。どこ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'); 
     } 
    }); 
} 

)。

私はこれを行うことができますどのようにこの

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

のような他の属性、例えばtaskExecution.address を送りたいですか? )

$('.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'); 
     } 
    }); 
} 

;:

答えて

0

私が正しくあなたの質問を理解していれば、次のようなものは、トリックを行う必要があります

あなたのコードの問題は、データオブジェクトの "ids"プロパティに送信したいものすべてを追加していたことでした。私の変更では、idsは1または0として渡され、addressは希望の値で渡されます。

+0

コンソール 'event.target.address 未定義' –

+0

パラメータ 'address'をどこに追加してjsを呼び出す必要がありますか、どのようにパラメータを追加しますか? –

+0

'event.target.address'は*あなたのコードです。私はAJAXリクエストにパラメータを追加する方法を説明しました。質問に入れたプロパティが存在しない場合、別の値を使用する必要がある場合です。 – AmericanUmlaut

関連する問題