データを保存するためのリストビューを動的に作成しています。ボタンをクリックすると、リストビューにチェックボックスが追加されます。リストビュー内の項目の個々のチェックボックスを選択すると、その特定のリスト項目をリストビューから削除する必要があります。しかし、特定のアイテムを削除しようとすると、削除されません。
$('#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);
}
});
}
前もって感謝します。