2012-05-11 94 views
0

以下jQuery代碼中發生了什麼?解釋一些代碼

$("#myDiv").val($(".cssValue").sortable('serialize',{expression: 'textExp[#]'})); 

我明白它的啓用排序在一個div內的css值,我打開糾正這一點。

我感到困惑本節:

'serialize',{expression: 'textExp[#]'} 

回答

1

我明白它的啓用排序在一個div內的CSS值,我打開糾正這一點。

.sortable('serialize',{expression: 'textExp[#]'})實際上是用於在先前實例化的jQuery UI小部件上調用方法的jQuery UI語法。也就是說,這條線實際上並沒有對.cssValue進行排序 - 這是在以前的時間點完成的。這個命令只是序列化元素。

這裏有一個完整的運行下來:

// select an element with id='myDiv' 
$("#myDiv") 
    // note: .val() is used for setting the value of form fields, so this doesn't 
    // seem to make a lot of sense, given that #myDiv is presumably a div 
    .val(
     // select an element with class='cssValue' 
     $(".cssValue") 
      // call the serialize method on this jQuery UI sortable element 
      // this will return a serialization of .cssValue - check out 
      // the methods tab here http://jqueryui.com/demos/sortable/ 
      .sortable('serialize', { expression: 'textExp[#]'}) 
    ); 
0

它設置元素的值與ID myDiv可排序。 (sortable是一個jQuery插件,see this page。)

1

http://docs.jquery.com/UI/Sortable#method-serialize

簽名: .sortable( 「序列化」,[選項]) 串行化排序的項目的ID到表單/ AJAX submittable字符串。調用這個方法會產生一個哈希,它可以被附加到任何url上,以便輕鬆地將新的物品訂單提交回服務器。

默認情況下,它通過查看每個項目的格式'setname_number'的id來工作,並且它吐出一個像「setname [] = number & setname [] = number」的散列。

您也可以在選項散列中作爲第二個參數來自定義函數的工作方式。可能的選項是:'key'(用你想要的任何東西替換part1 []),'attribute'(測試另一個屬性而不是'id')和'expression'(使用你自己的正則表達式)。

如果serialize返回空字符串,請確保id屬性包含下劃線。它們必須採用以下形式:「set_number」例如,具有id屬性foo_1,foo_5,foo_2的3個元素列表將序列化爲foo [] = 1 & foo [] = 5 & foo [] = 2。您可以使用下劃線,等號或連字符來分隔組和數字。例如,foo = 1或foo-1或foo_1全部序列化爲foo [] = 1。