1

編集中にいくつかの列を無効にしたいのですが、これらの列は navGrid Add を使用して追加するときに有効になります。以下のコードを使用しています:

  colModel: [
      { name: 'Menu_Key_Nm', index: 'Menu_Key_Nm', align: 'left', width: 200, sortable: false, editable: true, editrules: { required: true } },
      { name: 'Menu_Display_Nm', index: 'Menu_Display_Nm', align: 'left', width: 200, sortable: false, editable: true, editrules: { required: true } },
      { name: 'Category', index: 'Category', align: 'left', width: 200, sortable: false, editable: true, editrules: { required: true }, edittype: 'select', editoptions: { dataUrl: '@Url.Action("GetCategoryList", "Admin")'} },
  ]

navGrid 編集オプションでは、以下のコードを書いています。

 //edit
 {
     beforeShowForm: function (form) {
        $("#tr_Menu_Key_Nm").attr("disabled", "true");
        $('#tr_Category').attr("disabled", "true");
      }
   url: '@Url.Action("Update")',
  closeAfterEdit: true
 },
 //Add option
 {
    beforeShowForm: function (form) {
        $("#tr_Menu_Key_Nm").attr("disabled", "false");
        $('#tr_Category').attr("disabled", "false");
      }
  }

しかし、編集後に追加している間、列の上が無効になっています。どんな助けでも大歓迎です。前もって感謝します。

navGrid 追加ボタンを使用して追加中

4

1 に答える 1

1

まず、コードを修正して、 andの代わりに.prop("disabled", true)orを使用する必要があります。非常に古いバージョンの jQuery を使用する場合は、 を使用できますが、その場合、値は and にする必要があります。.prop("disabled", false).attr("disabled", "true").attr("disabled", "false")attr.attr("disabled", "disabled").removeAttr("disabled")

ところで、私は現在、ダウンロードして使用できる無料の jqGridの新しいバージョンを開発しています。私はすぐにバージョンをリリースする予定です。バージョンには多くの新機能があります。機能の 1 つは wiki の記事で説明されています。プロパティを function として定義editableできます。options.mode === "addForm"関数内でtrue を返すかどうかをテストできます。options.mode === "editForm"コードで既に行っていることとまったく同じことを行う「無効な」値を返すことができる場合。

デモをお試しください。表示します

ここに画像の説明を入力

ここに画像の説明を入力

一部の列のeditableプロパティは次のように定義されていますeditable: editableInAddForm。関数editableInAddFormは次のようになります。

editableInAddForm = function (options) {
    if (options.mode === "addForm") {
        return true;
    }
    if (options.mode === "editForm") {
        return "disabled";
    }
    return false; // don't allows editing in other editing modes
}
于 2015-02-24T13:13:43.647 に答える