Я использую jeditable примерно для 30-40 полей разного типа, поэтому мне нужно написать несколько блоков
$(".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() шесть раз... Интересно, можно ли объявить $(.class).editable () один раз, а затем изменить параметр внутри него? Таким образом, я могу сначала объявить все повторяющиеся параметры, а затем пройтись по элементам и добавить дополнительные данные...
Любые идеи приветствуются!