後,我看不出這不能工作,但這裏是我的問題......禁用可選擇的孩子初始化
我有一系列的頁面上可選擇的羣體 - 每個人在一張桌子和一個排td內的div是可選項。並非所有的td都包含一個可選項 - 這是通過「忽略」類的存在來表示的。一個燈箱會打開,然後需要將其中一個可選組中的多個孩子作爲目標,並在燈箱關閉後禁用他們在組內進行選擇。
我有這樣的HTML(它的一個片段,但準確):
<tr id='row_17' data-booking_row='a room' data-booking_row_id='17'>
<td class='booking_cell green'>
<div data-date='2012-10-22' class='room_cell selectable'>
<div class='price ignore' style='display:block;'>£5</div>
</div>
</td>
<td class='booking_cell amber ignore'>
<div data-date='2012-10-23' class='room_cell ignore'>
<div class='price ignore' style='display:block;'>£5</div>
</div>
</td>
<td class='booking_cell amber ignore'>
<div data-date='2012-10-24' class='room_cell ignore'>
<div class='price ignore' style='display:block;'>£2</div>
</div>
</td>
</tr>
可選擇的是由這一段代碼在頁面包含上述HTML底部開始:
$(function() {
$('#row_17').selectable({
filter: 'div:not(.ignore)'
});
});
然後,從燈箱,我正在做以下嘗試和禁用相關selectables選擇的兒童:
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('selectable');
parent.$('#row_17 td div[data-date=2012-10-22]').addClass('ignore');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('green');
parent.$('#row_17 td div[data-date=2012-10-22]').addClass('amber');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('ui-selected');
parent.$('#row_17 td div[data-date=2012-10-22]').removeClass('ui-selectee');
(以下簡稱「琥珀」類的添加和的「綠色」除去純粹改變顏色)
他們仍然選擇不管,顏色也發生變化,他們應該和類都被添加和帶走因爲他們應該如果我檢查它,但你仍然可以選擇它。
我曾試圖在去年塊的末尾添加這樣的:
parent.$('#row_17 td div[data-date=2012-10-22]').selectable('disable');
但這種錯誤,並告訴我:「不能叫上選擇之前的方法來初始化;試圖調用方法‘禁用’」
有沒有人有任何想法?我真的爲新的JQuery UI站點缺乏上下文和示例而苦惱。
謝謝。
的DOM *是*準備好了,代碼的頁面的底部(遇到*之後*瀏覽器裝配了DOM),並且,包在'$(document).ready()'等價。 –
是的,它在底部,所以它肯定是初始化的。如果有幫助,我注意到我所做的,沒有最後一行,阻止你在**拖動中選擇子**,但是你仍然可以點擊它們來選擇它們。這是否意味着什麼? –