我有这个代码:
<div>
john<input type="checkbox" onchange="javascript:hideshow(document.getElementById(this.value),this)" value="value1" checked="true">
jhonny<input type="checkbox" onchange="javascript:hideshow(document.getElementById(this.value),this)" value="value2" checked="true">
jack<input type="checkbox" onchange="javascript:hideshow(document.getElementById(this.value),this)" value="value3" checked="true">
</div>
<ul id="numeric">
<li id="value1" data-value="info1">
<div id="info1" contenteditable="true">john</div>
</li>
<li id="value2" data-value="info2">
<div id="info2" contenteditable="true">jhonny</div>
</li>
<li id="value3" data-value="info3">
<div id="info3" contenteditable="true">jack</div>
</li>
</ul>
<input type="submit" id="send1" value="save" class="button" onclick="action()">
这个脚本:
function hideshow(e, ev) {
if (ev.checked) {
e.style.display = "block";
} else {
e.style.display = "none";
}
}
function action() {
var values = $('#numeric li').map(function () {
return $(this).attr('data-value');
});
$lis = $("#numeric li").length;
var n = $lis;
var a="";
for ($i = 0; $i < n; $i = $i + 1)
{
a = (a + (document.getElementById((values[$i])).innerHTML) +". ");
}
alert (a);
}
输出是:这个
此处的复选框链接到 UL 中的列表项。选中/取消选中它们会隐藏/显示相应的列表项。另一件事是列表项是可编辑的。在我的代码中,它们甚至是可拖动的。当我单击保存时,列表项将与它们所做的更改一起连接并保存在一个变量中。
唯一缺少的是当我隐藏一个列表项(即取消选中它)时,它不应该在变量中连接起来。
例如:如果我取消选中所有项目,则变量应该为空。但是在这里,即使所有内容都被隐藏,变量也包含所有值。
我不知道该怎么做。谁能帮我。谢谢