jQuery jScrollPane заменяет определенный div внутри getContentPane () - PullRequest
1 голос
/ 29 марта 2012

Я использую пользовательский jScrollPane и динамически заполняю его, используя jQuery из возвращенного частичного представления.

Я заполняю его так:

var pane = $('.mainContainingDiv').jScrollPane(settings);
var api = pane.data('jsp');

// Populate function
api.getContentPane().html(someData);
api.reinitialise();

Это здорово и работаетточно так, как я ожидаю, но в настоящее время эта проблема с контентом содержит контент, который нужно установить только один раз, поэтому я не хочу возвращать больше, чем мне нужно при каждом вызове сервера.Скорее, я хотел бы переместить его из частичного представления в основной вид, содержащий javascript.

Вот несколько примеров HTML, чтобы лучше это проиллюстрировать:

ДО:

<div class="myContainingDiv">
    <div class="staticContentDivThatIDontWantReturnedOnEveryServerCall">
       Info
    </div>
    <div class="dynamicDiv">
       More Info
    </div>
</div>

, так что сейчас я заменяю оба элемента div функцией getContentPane ().Как я могу заменить только один.например,

CALL 1

// some controller calls
api.getContentPane().html(NEWDATAFROMWHEREVER);

Вот к чему это приводит (как и ожидалось), и результат, который я хочу.

UNDESIREDРЕЗУЛЬТАТ

<div class="myContainingDiv">
    NEWDATAFROMWHEREVER
</div>

НЕОБХОДИМЫЙ РЕЗУЛЬТАТ

<div class="myContainingDiv">
    <div class="staticContentDivThatIDontWantReturnedOnEveryServerCall">
       Info
    </div>
    NEWDATAFROMWHEREVER
</div>

Так как я могу заменить только один div в контейнере вызовом getContentPane() через jScrollPane

Спасибо

1 Ответ

1 голос
/ 29 марта 2012

Разобрался:

        api.getContentPane().children('.dynamicDiv').html(NEWDATAFROMWHEREVER);
        api.reinitialise();

надеюсь, это поможет кому-то еще

...