我目前在标签中使用id
值,即:div
serialize
HTML:
<div class="column">
<div id="portlet_1">some content here</div>
<div id="portlet_2">some content here</div>
<div id="portlet_3">some content here</div>
</div>
jQuery:
$(this).sortable('serialize', {key: 'item'})
这很好用。
问题是我需要允许用户动态选择他/她想要在屏幕上的哪个 portlet,如果他们愿意,他们可以在屏幕上多次使用相同的 portlet,即:
HTML:
<div class="column">
<div id="portlet_1">some content here</div>
<div id="portlet_1">some content here</div>
<div id="portlet_1">some content here</div>
<div id="portlet_2">some content here</div>
<div id="portlet_2">some content here</div>
<div id="portlet_3">some content here</div>
</div>
id
由于相同的 s ,这会导致很多问题。
现在我已经将结构更改为使用class
es 而不是id
s,即:
HTML:
<div class="column">
<div class="portlet_1">some content here</div>
<div class="portlet_1">some content here</div>
<div class="portlet_1">some content here</div>
<div class="portlet_2">some content here</div>
<div class="portlet_2">some content here</div>
<div class="portlet_3">some content here</div>
</div>
如何基于class
而不是序列化id
?
id
这是一个更完整的代码摘录,因为它基于s序列化,所以它不起作用:
jQuery:
$(".column").sortable({
connectWith: '.column',
update: function(event, ui) {
var that = this;
$.ajax({
url: 'some web service here',
type: 'POST',
data: { strItems:$(that).sortable('serialize', {key: 'item'}) },
error: function(xhr, status, error) {
//some error message here
},
success: function() {
//do something on success
}
});
}
});
抱歉,忘了说我使用的是旧的 jquery 1.4 版。