0

プロジェクトで Jqgrid を使用しています。検証のために、各列にカスタム関数を定義しました。お気に入り、

         { label: 'Name', name: 'Name', width: 300,
            editable:true, edittype:"custom", sortable:false,
            editoptions:{custom_element: getDatabaseColumnSelector,
                         custom_value:getSelectedDatabaseColumn},
            editrules:{required:true, custom:true, custom_func:somefunction}
          },

ここでは、検証目的で somefunction() を使用します。この関数では、検証のために他の列の値も使用します。何かのようなもの

          if employeecountry = "US" then name.length < 10

しかし、この関数では、Name 列のカスタム関数で employeecountry の値を取得するにはどうすればよいですか。で試しました

           "# + rowId + _columnname"

ただし、その時点でrowIdが設定されていないため、フォームを追加すると機能しません。編集フォーム、インライン編集、追加フォームで機能する、別の列で定義されたカスタム関数内の他の列値を取得するにはどうすればよいですか。どんな助けでも本当にかなりの価値があります。

4

2 に答える 2

0

残念ながらcustom_func、非常に制限的で、パラメータ値を提供するだけvalueですcolname。しかし、それを回避するコードを書くことができるかもしれません。

次のようなコードを使用してフォームを検出できるはずです。

jQuery('#FrmGrid_mygrid').length > 0

そして、フォーム上の入力要素にアクセスするようなコードを使用できるはずですが、利用可能な入力コントロールのタイプによって異なります。

jQuery('#mycolname', '#FrmGrid_mygrid').val()

それは役に立ちますか?

インライン編集などの他のシナリオで検証を機能させるためのコードが既にあるようです。

于 2012-07-19T14:03:16.773 に答える