JQuery UI тип объекта для объекта "UI" передается в функцию обратного вызова? - PullRequest
8 голосов
/ 08 января 2010

В пользовательском интерфейсе jQuery, какой тип / содержимое объекта "ui" передается в функцию обратного вызова многих методов события, и как я могу его использовать?

Например, демо " selectable ", событие " selected " получает два параметра. «Событие» и «Пользовательский интерфейс». Я пытаюсь использовать его следующим образом:

    $("#selectable").selectable({ 
      selected: function(event, ui) { 
        $(ui).find("input").attr('checked', true); 
      } 
    });

(вот HTML:)

<ol id="selectable"> 
    <li class="ui-state-default"><input type="checkbox" value="1" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="2" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="3" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="4" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="5" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="6" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="7" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="8" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="9" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="10" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="11" /></li> 
    <li class="ui-state-default"><input type="checkbox" value="12" /></li> 
</ol> 

Но это не работает. Что я делаю неправильно? Я предполагаю, что параметр пользовательского интерфейса установлен на объект, представляющий "li", который выбран, но когда я пытаюсь использовать его, это, похоже, не так ...

Пример ( пример редактирования )

1 Ответ

13 голосов
/ 09 января 2010

Из того, что я понимаю, (и это только из наблюдения и моих невероятных способностей: кашель, кашель :: логического вывода) пользовательский интерфейс - это объект или набор элементов, с которыми воздействуют в пользовательском интерфейсе. Чтобы получить к ним доступ, вам нужно выбрать тот, который вы хотите использовать, а не выделять объект целиком. Например. в капельнице это ui.draggable или ui.droppable. В вашем примере ui.selected - это то, что будет работать.

$("#selectable").selectable({
    selected: function(event, ui) {
       $(ui.selected).find("input").attr('checked', true);
    }
});

Надеюсь, что ответит на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...