異なるタイプの約 30 ~ 40 のフィールドに jeditable を使用しているため、多数のブロックを記述する必要があります。
$(".editable-...type of element...").editable(method, {parameters})
私がフォームに持っているさまざまなタイプの要素(文字列、int、さまざまなドロップダウン)。たとえば、文字列の場合は次のとおりです。
$(".editable-jedit-string").editable("/Controller/Method",
{
submitdata: {
ItemId: '@ViewData["ItemId"]'
},
cssclass: 'inherit',
indicator: 'wird gespeichert...',
style: 'display:inline',
height: '15px',
width: '150px',
placeholder: '<span class="muted">Zum Bearbeiten doppelklicken...</span>',
tooltip: 'Zum Bearbeiten doppelklicken...',
event: 'dblclick',
submit: '<button class="btn btn-mini btn-primary btn-forced-margin" type="submit" >OK</button>'
});
そしてドロップダウンのために
**$(".editable-jedit-string-welle")**.editable("/Controller/Method",
{
submitdata: {
ItemId: '@ViewData["ItemId"]'
},
**data: " {'A':'A','B':'B','C':'C'}",**
type: "select",
cssclass: 'inherit',
indicator: '<span class="muted">wird gespeichert...</span>',
style: 'display:inline',
height: '15px',
**width: '15px',**
placeholder: '<span class="muted">Zum Bearbeiten doppelklicken...</span>',
tooltip: 'Zum Bearbeiten doppelklicken...',
event: 'dblclick',
submit: '<button class="btn btn-mini btn-primary btn-forced-margin" type="submit" >OK</button>'
});
そのため、ほとんどのパラメーターは常に繰り返されますが、一部 (ここでは太字にしようとしましたが、代わりにアスタリスクで表示されています..) は異なります。
私の質問は、コードをよりコンパクトにするにはどうすればよいですか? 私はそのような宣言を約6つ持っており、コードをリファクタリングして見栄えを良くできると思います。
すべての繰り返し可能な要素 (ボタン宣言、ラベル、スタイル) のパラメーターを作成できますが、それでも .editable() を 6 回宣言する必要があります... $(.class).editable を宣言できるかどうか疑問に思います。 () 一度、その中のパラメータを変更しますか? このようにして、最初にすべての反復可能なパラメーターを宣言し、次に要素を調べて追加のデータを追加できます...
どんなアイデアでも大歓迎です!