2 つの別々の質問をまとめて投稿しました。他のユーザーが情報を見つけにくくなります。現在の質問は 2 つに分けたほうがよいでしょう。
それにもかかわらず、あなたの質問の最初の部分について、古い Searching Dialog の動作がjQuery.cloneの使用のためにそうであったことを説明したいだけです。この機能には多くのバグがあり、長い間修正されていませんでした。そのため、状況によっては検索ダイアログが正しく機能しませんでした。Searching Dialog の新しい実装では、問題を解決する唯一の安全な方法としてjQuery.cloneを明示的に使用しませんでした。検索ダイアログの新しいバージョンで見逃していた動作は、デフォルトで実装されました。新しい検索ダイアログには対応するコードはありませんが、自分で書くことができます。ほとんどの場合、 afterRedrawコールバックでカスタム コードを記述する必要があります。
jqGrid サポートが強力なオプションになったことを考慮する必要がありmultipleGroup: true
ます。したがって、おそらく同じグループの別のコントロールから選択をコピーする必要があります。
2 番目の質問について:
回答には、バインドを解除するというアイデアを説明するデモが含まれていclick
ます。おそらく、それが唯一のボタンである場合にのみ、「ルールの削除」ボタンのバインドを解除するか、非表示にすることをお勧めします。
オプションを使用しない場合はmultipleGroup: true
、次のことを試すことができます
$.extend($.jgrid.search, {
multipleSearch: true,
overlay: 0,
afterRedraw: function () {
// don't permit to remove the last rule
$('input.delete-rule:first',this).unbind('click').hide();
}
});
使用multipleGroup: true
の場合、おそらく別のコードの方が良いでしょう
$.extend($.jgrid.search, {
multipleSearch: true,
multipleGroup: true,
overlay: 0,
afterRedraw: function () {
// don't permit to remove the last rule
var $delRules = $('input.delete-rule', this);
if ($delRules.length === 1) {
$delRules.unbind('click').hide();
}
}
});