Что у меня есть и что мне нужно. Это легко.
Параметры по умолчанию (есть вложенные свойства):
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: ">>",
sPrevious: "<<"
}
}
}
Фактические параметры:
{
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}
Результат $.extend:
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
oPaginate: {
sNext: "MODIFIED"
}
}
}
Мне нужно правильно расширить параметры по умолчанию с помощью фактических параметров и получить следующий результат (одно свойство было изменено):
{
sDom: 'frt<"tfoot"lp>',
bInfo: false,
sPaginationType: "full_numbers",
oLanguage: {
sSearch: "",
sLengthMenu: "Show _MENU_",
oPaginate: {
sFirst: "|<<",
sLast: ">>|",
sNext: "MODIFIED"
sPrevious: "<<"
}
}
}
Проблема заключается в том, что функция $.extend игнорирует вложенные свойства и работает только с свойствами первого уровня. Теперь у меня есть вручную $.extend каждого из вложенных свойств, но я думаю, что это не решение.