2011-07-15 76 views
1

我使用最新的jstree提交從github複選框插件作爲我的表單的一部分。我正在使用帶有「real_checkboxes」屬性的樹。檢測jstree中的複選框更改

一切都很好,除了複選框插件實際上並沒有將任何已更改的屬性添加到隱藏字段,也沒有看起來有一個外部函數允許我掛鉤來創建自定義功能。

我可以理解並聽取複選框是勾選還是未勾選?

感謝,

UPDATE:

$.jstree._instance.prototype.check_node = function(node){ alert("here"); } 

但是它是不是很乾淨,它的作用:通過做一些嘗試,我能夠在乘坐檢查的默認功能,並取消方法後覆蓋整個方法。

有:

一)一個更清潔的方式做到這一點? b)只是做一個回調函數而不是取代整個該死的東西?再次

感謝,

+0

我可以使用check_node和uncheck_node,但我不知道如何擴展這些功能用我自己的行爲,同時保持實際父的完整性。可能有人可以告訴我如何擴展這些功能? – Sammaye

回答

2

@Noctyrn

是的,我這樣做,最初但後來我通過文檔看更仔細地發現這一點:

$(".js_tree_'.$this->attribute.' div").bind("check_node.jstree", function(){}); 

但是你的功能母鹿同樣:)。但是因爲我對jsTree文檔是正確的,所以Ima將我的答案標記爲正確的答案。此外,該功能允許同一頁上的不同樹具有不同的綁定,所以它總體上更好:)。

感謝您的幫助:),

1

這實際上是不乾淨的,但至少它可以完成這項工作:

var check_node_func = $.jstree._instance.prototype.check_node; 
$.jstree._instance.prototype.check_node = function(node) { 
    check_node_func.apply(this, arguments); 
    alert("here"); 
}