Javascript 复选框事件和保持数组-如何在代码中处理?

Javascript 复选框事件和保持数组-如何在代码中处理?,javascript,jquery,cordova,Javascript,Jquery,Cordova,我的phonegap应用程序中有以下代码: function onDeviceReady() { var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]); $.each(listOfSports, function (i) { console.log(

我的phonegap应用程序中有以下代码:

 function onDeviceReady() {
            var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]);
            $.each(listOfSports, function (i) {
                console.log(i);
                var li = $('<li><input class="checkbox" type="checkbox"' + 'id="' + listOfSports[i] + '"' + 'label="' + listOfSports[i] + '">' + listOfSports[i] + '</li>')
                    .appendTo("ul.listViewContainer");
            });
            $("#listViewContainer").listview();
            $("#listViewContainer").listview("refresh");
        }
函数ondevicerady(){
var listOfSports=新阵列([“合气道”]、[“空中运动”]、[“美式足球”]、[“钓鱼”]、[“射箭”]、[“瑜伽”]);
$.each(运动列表,功能(i){
控制台日志(i);
变量li=$(“
  • ”+listOfSports[i]+“
  • ”) .appendTo(“ul.listViewContainer”); }); $(“#listViewContainer”).listview(); $(“#listViewContainer”).listview(“刷新”); }

    如何获取选中项的值,并在选中时将值添加到数组中,或在取消选中时将其删除?

    类似的内容。这将在数组中存储所有复选框ID

    var arr = [];
    
    function onDeviceReady() {
            var listOfSports = new Array(["Aikido"],["Air Sports"],["American Football"],["Angling"],["Archery"],["Yoga"]);
            $.each(listOfSports, function (i) {
                console.log(i);
                var li = $('<li><input class="checkbox" type="checkbox"' + 'id="' + listOfSports[i] + '"' + 'label="' + listOfSports[i] + '">' + listOfSports[i] + '</li>')
                    .appendTo("ul.listViewContainer");
            });
            $("#listViewContainer").listview();
            $("#listViewContainer").listview("refresh");
    
            $(".checkbox").click(function () {
                if ($(this)[0].checked)
                {
                    arr.push($(this).attr("id"));
                }
                else
                {
                    arr = $.grep(arr, function( a ) {  
                               return a != $(this).attr("id");
                          });
                }
            });
        }
    

    非常感谢。我知道这是一个由来已久的问题,但直接给出答案更容易理解!快速奖励问题-如何删除未选中的元素?else语句应该这样做吗?您想从数组或html中删除它吗?else语句似乎没有任何作用:(我的意思是从数组中删除。谢谢您的帮助
            else
            {
                var check = $(this);
                arr = $.grep(arr, function( a ) { 
                           return a != $(check).attr("id");
                      });
            }