1
我在頁面上有多個滑塊,每個滑塊都有類,每個滑塊都帶有一個複選框。加載頁面時,複選框通過PHP填充,選中或不選中。基於此,我想啓用或禁用滑塊。jQuery UI滑塊初始化
刪除無關的部分,我有:
$(".slider").slider({
...
disabled: function()
{
var $field = $(this).prevAll("input");
return $field.is(':checked');
},
...
});
我甚至不知道是否有可能一個匿名函數傳遞給殘疾人選擇。這是合法嗎?它似乎並沒有工作...
當然,我可以初始化#slider1,#slider2,#slider3 ...等等,但我正在尋找最優雅和緊湊的解決方案。
這是$(this)已經超出了範圍,因爲它在選項內? JavaScript在這些情況下如何工作?提供它沒有...我知道$(this).prevAll(「輸入」)選擇器是準確的,因爲我用Firebug檢查過它。
想法?謝謝!
謝謝 - .each()包裹工作。雖然你的第一個代碼塊由於_this_的值而不起作用,但它看起來與我的非常相似,只不過你用另外一組括號來包裝它。你在這裏遵循什麼JS規則來使你的有效?你能解釋一下,還是指向一個涵蓋這種語法的文檔?再次感謝。 –
@Jordan:不同之處在於我*在最後立即執行了使用'()'創建的函數。如果你有一個函數'foo'並且在那裏調用它('foo()'),那麼它會是一樣的,除了你聲明'foo'是內聯的。這裏有一個很好的問題/答案:http://stackoverflow.com/q/186024/497356 –
非常好,謝謝! –