2010-01-08 33 views
8

Trong giao diện người dùng jQuery, loại/nội dung của đối tượng "ui" được chuyển đến hàm gọi lại của rất nhiều phương thức sự kiện, và làm cách nào để sử dụng nó?Loại đối tượng giao diện người dùng jQuery cho đối tượng "ui" được chuyển đến hàm gọi lại?

Ví dụ: bản trình diễn "selectable", sự kiện "selected" được chuyển qua hai thông số. "Sự kiện" và "Giao diện người dùng". Tôi cố gắng để sử dụng nó như sau:

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

(ở đây là 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> 

Nhưng nó không phải đang làm việc. Tôi đang làm gì sai? Tôi giả định rằng các param ui được thiết lập để một đối tượng đại diện cho "li" được chọn, nhưng khi tôi cố gắng và sử dụng nó nó dường như không phải là trường hợp ...

Example (edit example)

+0

Bạn đã thử nếu nó hoạt động với $ (event.target) .find ("input")? – Daff

+0

Điều đó chọn mọi thứ, không chỉ mục tiêu thực sự của sự kiện. Thật lạ ... – cmcculloh

Trả lời

13

Từ những gì tôi hiểu, (và đây chỉ là quan sát và sức mạnh đáng kinh ngạc của tôi :: ho, ho :: suy luận) ui là một đối tượng hoặc tập hợp các yếu tố đang được thực hiện trong giao diện người dùng. Để truy cập chúng, bạn cần phải chọn cái bạn muốn sử dụng, thay vì chọn toàn bộ đối tượng. Ví dụ. trong droppable, đó là ui.draggable hoặc ui.droppable. Trong ví dụ của bạn, ui.selected là những gì sẽ hoạt động.

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

Hy vọng trả lời câu hỏi của bạn.

+0

Tuyệt đối! Cảm ơn bạn rất nhiều! Làm việc như người ở! Không bao giờ có thể tìm ra điều đó ... – cmcculloh

+0

:: ho ho :: - rực rỡ! – digout

Các vấn đề liên quan