以下jQuery代碼中發生了什麼?解釋一些代碼
$("#myDiv").val($(".cssValue").sortable('serialize',{expression: 'textExp[#]'}));
我明白它的啓用排序在一個div內的css值,我打開糾正這一點。
我感到困惑本節:
'serialize',{expression: 'textExp[#]'}
以下jQuery代碼中發生了什麼?解釋一些代碼
$("#myDiv").val($(".cssValue").sortable('serialize',{expression: 'textExp[#]'}));
我明白它的啓用排序在一個div內的css值,我打開糾正這一點。
我感到困惑本節:
'serialize',{expression: 'textExp[#]'}
我明白它的啓用排序在一個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[#]'})
);
它設置元素的值與ID myDiv
可排序。 (sortable
是一個jQuery插件,see this page。)
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。