如何使用jquery从Array中删除未经检查的项目

use*_*194 0 javascript jquery

当用户选中复选框时,我将此代码放入数组中..但是当用户取消选中复选框时,如何从阵列中删除?

 $(function () {
   var listval = [];
        $('input[name="checkedRecords"]').bind('click', function () {
            if ($(this).is(':checked')) {
                listval.push($(this).val());
            }
            else {
                //How to remove the Unchecked item from array..
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Fra*_*bot 7

如果你有一个阵列

var mylist = ['a','b','c','d'];
Run Code Online (Sandbox Code Playgroud)

要删除值'b':

if ((index = mylist.indexOf('b')) !== -1)
    mylist.splice(index, 1);
Run Code Online (Sandbox Code Playgroud)

结果是:

mylist == ['a','c','d'];
Run Code Online (Sandbox Code Playgroud)

适合您的应用:

 $(function () {
   var listval = [];
        $('input[name="checkedRecords"]').bind('click', function () {
            if ($(this).is(':checked')) {
                listval.push($(this).val());
            }
            else {
                if ((index = listval.indexOf($(this).val())) !== -1) {
                    listval.splice(index, 1);
                }
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

  • 我更新了答案,用勺子给你答案,这样你就不必为此付出沉思. (4认同)