【发布时间】:2013-07-27 05:34:45
【问题描述】:
我正在动态创建一个用于存储数据的列表视图。当我单击按钮时,列表视图会附加复选框。当我在列表视图中选择项目的单个复选框时,必须从列表视图中删除特定的列表项目。但是当我尝试删除特定项目时,并没有删除。
$('#add #input[name="check"]:checkbox').change(function () {
var chkLength = $('input[name="check"]:checkbox').length;
var chkdLength = $('input[name="check"]:checkbox:checked').length;
if (chkLength == chkdLength) {
$('#select').attr('checked', true);
//$('#empty').on('click', function() {
$('#add input[name="check"]:checkbox:checked').on('click', function () {
$('#empty').on('click', function () {
localStorage.removeItem($(this).attr('url'));
$("#favoritesList").listview('refresh');
});
});
} else {
$('#select').attr('checked', false);
}
});
更新:
我正在创建动态列表视图和复选框。
$('#edit').live('click', function () {
fromGetStorage();
});
function fromGetStorage() {
$("#favoritesList").empty();
$(".ui-listview-filter").remove();
$("#favoritesList").append('<input type="checkbox" name="all" id="select" />Select all</br>');
for (var i = 0; i < localStorage.length; i++) {
var url = localStorage.key(i);
var demo = localStorage.getItem(url);
$("#favoritesList").append('<li id="add"><div><input type="checkbox" name="check" id="check"> <a href="' + url + '" style="text-decoration:none;color:black">' + demo + '</a></div></li>').attr('url', url);
$("#favoritesList").listview('refresh');
}
$("#select").click(function (event) {
event.stopPropagation();
});
$('#select').change(function () {
if ($("#select").is(':checked')) {
$("#add #check").prop("checked", true);
$('#empty').on('click', function () {
localStorage.clear();
$("#favoritesList").listview('refresh');
});
} else {
$("#add #check").prop("checked", false);
}
});
$("#add #check").click(function (event) {
event.stopPropagation();
});
$('#add #input[type="checkbox"]').change(function () {
var chkLength = $('input[type="checkbox"]').length;
var chkdLength = $('input[type="checkbox"]:checked').length;
var item = $(this);
var content = $(item).text();
if (chkLength == chkdLength) {
$('#select').attr('checked', true);
if (item.is(':checked')) {
$("#delete").click(function () {
$('#' + content).remove();
$("#favoritesList").listview('refresh');
});
}
} else {
$('#select').attr('checked', false);
}
});
}
提前致谢。
【问题讨论】:
-
请显示您的 html 并检查 onclick 函数中“this”的引用
-
@AlexKneller 我正在动态创建 listivew 和 checkbox 无论如何我更新了我的代码。
标签: jquery listview jquery-mobile checkbox