2010-04-26 41 views
1

我正在使用jQuery UI Sortable創建一個列表「categorizable」。當頁面加載現有數據時(無論是從數據庫還是從之前的表單提交)加載到代碼中時,都會將代碼置於適當的類別中。根據單選按鈕在頁面加載時對項目進行分類 - jQuery

的HTML是單選按鈕列表:

<ul id="Main" class="sort"> 
    <li> 
    <input type="radio" name="i1" id="i1_M" value="M"> 
    <input type="radio" name="i1" id="i1_A" value="A"> 
    <input type="radio" name="i1" id="i1_B" value="B" checked> 
    <input type="radio" name="i1" id="i1_C" value="C"> 
    This is the first item 
    </li> 
    <li> 
    <input type="radio" name="i2" id="i2_M" value="M" checked> 
    <input type="radio" name="i2" id="i2_A" value="A"> 
    <input type="radio" name="i2" id="i2_B" value="B"> 
    <input type="radio" name="i2" id="i2_C" value="C"> 
    This is the second item 
    </li> 
    [... etc. ...] 
</ul> 
<ul id="CatA" class="sort subC"></ul> 
<ul id="CatB" class="sort subC"></ul> 
<ul id="CatC" class="sort subC"></ul> 

我想是一些代碼在網頁加載運行移動其中一個選項被選中到列表CATA的項目,那些選擇B檢查到CatB等,使帶有選項M的項目在原地檢查。即使在浪費了一天的時間尋找解決方案並在教程之後閱讀教程(所有這些都聲稱是針對Javascript初學者,讓我對自己顯然缺乏智力能力感到沮喪,但我還沒有從最簡單的想法開始,但我離題)。幫幫我?

(該網頁是ASP經典,jQuery是1.4.2版本,jQuery UI的是1.8版本)。

回答

1

像這樣的事情? (Demo

$(document).ready(function(){ 
$('#Main').find(':checked').each(function(){ 
    $(this).parent().appendTo($('#Cat' + $(this).val())); 
}) 
}) 

它的作用是查找所有選中的單選按鈕的值,則移動整個內容到的類別。由於沒有找到#CatM,因此它會自動失敗,並將M選定的單選按鈕保留。

注意:單選按鈕值必須都是單個字母,並且大寫字母以便此腳本正常工作(它必須與類別ID匹配)。

+0

謝謝!那個「appendTo」終於給了我一個開始的地方,我有一些工作。 (現在我只是在Win7上有一個奇怪的部分消失的背景圖像錯誤,以防萬一我無聊,我猜。) – Martha 2010-04-26 23:00:10

0

這個插件可以用來做你想做的事情。

http://razorjack.net/quicksand/

+0

呃?我害怕試圖將我需要的功能強加於一個用於不同目的的插件,這超出了我的Javascript能力。 – Martha 2010-04-26 23:06:18

相關問題