Las*_*sse 3 html jquery jquery-ui-sortable
我有
<ul id="test-list" class="ui-sortable" >
<li id="876e45a4-6a27-4f7b-95ca-9e2500f11801">text1</li>
<li id="4df36ffb-561a-4eaa-9b1c-9e2500f16d6b">text2</li>
<li id="cc4a57d5-1567-403c-888f-9e2500f1c171">text3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是$('#test-list').sortable('serialize');这样的字符串:
876e45a4-6a27-4f7b-95ca[]=9e2500f11801&79fbfdf7-e9b1-4e96-8e42[]=9e2400d2abb7&4df36ffb-561a-4eaa-9b1c[]
删除最后12个id的字符
有什么想法吗?
两件事情:
Sortable.serialize的身份证你确定Sortable的serialize确实你希望它做什么?根据文档,它希望每个可排序元素的ID都在表单中setname_number.ID预计会有一个下划线,但会回退到使用=或-; 来自文档:
默认情况下,它通过查看格式为'setname_number'的每个项的id来工作,并且它会发出类似"setname [] = number&setname [] = number"的哈希值.
...他们必须在形式:"SET_NUMBER"例如,ID属性的3元素列表foo_1,foo_5,foo_2将序列化foo[]=1&foo[]=5&foo[]=2.您可以使用下划线,等号或连字符来分隔集合和数字.例如foo=1,foo-1或者foo_1全部序列化为foo[]=1.
(我的重点.)所以没有看到下划线(_),显然它正在回归使用-它看到的最后一个连字符().
id 用于CSS的格式另外,idCSS使用的值不能以数字开头; 来自规范:
在CSS中,标识符(包括选择器中的元素名称,类和ID)只能包含字符[a-zA-Z0-9]和ISO 10646字符U + 00A1和更高,加上连字符( - )和下划线( _); 它们不能以数字开头,也不能以数字后跟连字符开头.
(这些限制id在HTML中是不正确的,它不能包含空格,并且如果给出则必须至少有一个字符,但CSS更具限制性.)
由于您正在使用带有jQuery的CSS选择器,因此最好确保id属性是有效的CSS.(也许你可以将它们预处理为"G",然后是转换为破折号的GUID x,那样的东西,所以ID等等G876e45a4x6a27x4f7bx95cax9e2500f11801.)然后你会想要给它们一个下划线和后缀.以上.
| 归档时间: |
|
| 查看次数: |
1346 次 |
| 最近记录: |