我有一些jquery可选对象。默认选择该对象的某些项,所以我有这样的东西:
HTML
<ol id='lunedi'>
<li class='ui-state-default ui-selected' id='lunedi-1'>1</li>
<li class='ui-state-default' id='lunedi-2'>2</li>
<li class='ui-state-default' id='lunedi-3'>3</li>
<li class='ui-state-default ui-selected' id='lunedi-4'>4</li>
<ol id='martedi'>
<li class='ui-state-default ui-selected' id='martedi-1'>1</li>
<li class='ui-state-default ui-selected' id='martedi-2'>2</li>
<li class='ui-state-default' id='martedi-3'>3</li>
<li class='ui-state-default' id='martedi-4'>4</li>
JS
// multiple selection
$(function() {
//$("#lunedi").selectable();
$("#lunedi").bind("mousedown", function(e) {
e.metaKey = true;
}).selectable();
});
// code for serialization
$(function() {
$("#lunedi").selectable({
stop: function() {
var result = $("#result-lunedi").empty();
$(".ui-selected", this).each(function() {
//var index = $( "#lunedi li" ).index( this );
var index = $(this).attr('id');
result.append("#" + index);
});
}
});
});
我想序列化已检查的项目,但只有当我至少将选择状态修改为<ol>
的其中一项时,它才能正常工作。
我认为这是因为只在事件“停止”期间调用javascript,所以如果我不选择/取消选择任何内容,序列化代码将不会执行。
解决方案应该是手动调用停止例程,或者在处理数据之前对项目执行双切换(为了在不更改值的情况下序列化结果),但我真的很困惑如何执行此操作
祝你今天愉快, 弗朗西斯
答案 0 :(得分:-1)
在创建
上使用相同的序列化功能// code for serialization
$(function() {
var updateResult = function () {
var result = $("#result-lunedi").empty();
$(".ui-selected", this).each(function() {
//var index = $( "#lunedi li" ).index( this );
var index = $(this).attr('id');
result.append("#" + index);
});
};
$("#lunedi").selectable({
create: updateResult,
stop: updateResult
});
});