2014-06-29 30 views
7

Tôi có một lệnh PrimefacesButton, lệnh này gọi một bộ lọc có thể định cấu hình trong onComplete của nó. Datatable được tham chiếu bởi một widgetVar:Kiểm tra xem tiện ích PrimeFacesVar có tồn tại không

<p:commandButton id="addFishBtn" 
        title="Add Fish" 
        update="fishForm:FishTbl" 
        action="#{backingBean.addFish()}" 
        oncomplete="fishTable.filter()"/> 

Vấn đề là, fishTable không luôn luôn tồn tại khi nhấn nút này. Nó không tồn tại, ứng dụng chỉ bị kẹt. Tôi đã thử một số nội dung như thế này từ các câu hỏi SO khác:

oncomplete="if(typeof(fishTable) != 'undefined') {fishTable.filter()}" 

Nhưng dường như nó không làm gì cả. Có cách nào thích hợp để kiểm tra xem widgetVar hiện có bất kỳ giá trị nào không?
Cảm ơn!

Trả lời

13

Bạn có thể sử dụng sau đây

if(PrimeFaces.widgets['fishTable']) { 
    //widgetVar does exist 
    PF('fishTable').filter(); 
} 
+0

Điều này làm việc với PF mới ('widgetVar') ký hiệu? –

+0

có, tôi đang cập nhật câu trả lời cho thông báo đó, cảm ơn bạn. –

+0

cảm ơn! bạn chỉ cần lưu ngày của tôi: D giải pháp tốt đẹp và sạch sẽ – ProgrammingIsAwsome

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