0

これをすべてのボタンで機能させることはできず、その理由を説明するものが見つかりません。私が見逃しているのは小さなことだと思います

$(document).ready(function() {
  // delete the selected row from the database
  $(document).on('click', '#business-area-delete-button', { model: "BusinessArea" }, deleteRow);
  $(document).on('click', '#business-type-delete-button', { model: "BusinessType" }, deleteRow);
  $(document).on('click', '#client-delete-button', { model: "Client" }, deleteRow);
  $(document).on('click', '#client-type-delete-button', { model: "ClientType" }, deleteRow);
  $(document).on('click', '#communication-channel-type', { model: "CommunicationChannelType" }, deleteRow);
  $(document).on('click', '#parameter-type-delete-button', { model: "ParameterType" }, deleteRow);
  $(document).on('click', '#validation-method-delete-button', { model: "ValidationMethod" }, deleteRow);
}

行事

function deleteRow(event){
  $.ajax(
    {
      type:'POST',
      data: { id: $(".delete-row").attr("id") },
      url:"/mysite/admin/delete" + event.data.model,
      success:function(data,textStatus){
        $('#main-content').html(data);
      },
      error:function(XMLHttpRequest,textStatus,errorThrown){
       jQuery('#alerts').html(XMLHttpRequest.responseText);
      },
      complete:function(XMLHttpRequest,textStatus){
        placeAlerts()
      }
    }
   );
   return false
};

これは、id validation-method-delete-button を持つボタンに対してのみ機能します。ボタンは後でajax経由でロードされるテンプレートに含まれているため、ボタン自体ではなくドキュメントを使用します。

テーブル内の行を選択する同様の関数でこれが機能していますが、そのシナリオでデータを渡そうとしていません。

4

2 に答える 2

1

ボタンがまだ読み込まれていない場合は、live代わりに使用してみてくださいon

于 2012-11-11T22:57:49.567 に答える
0

私が疑ったように、それは非常に小さなものでした。くそタイプミス!笑。他の人が同じ問題に遭遇する可能性があると確信しているので、どちらの方法でもこれを建設的に保つことができます.

そう

live() は on() よりも使用する方が良いですか (どちらも機能します)。

于 2012-11-11T23:06:40.177 に答える