Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当复选框未选中时,如何从Javascript数组中删除内容_Javascript_Html_Checkbox - Fatal编程技术网

当复选框未选中时,如何从Javascript数组中删除内容

当复选框未选中时,如何从Javascript数组中删除内容,javascript,html,checkbox,Javascript,Html,Checkbox,我有一个表单,允许用户选择复选框。我能够创建一个数组,该数组接受复选框的文本内容。无论何时选择它们,它都会起作用。但是,每当取消选中框时,我希望从数组中删除文本。当前,当一个框未选中时,它会将未选中的框添加到数组中。我意识到这是因为每当发生on change函数时(即选中/未选中),我的代码都会填充数组。我只是在寻找一些东西,将删除字符串时,它是取消选中。有什么建议吗 html: 一款图片分享应用 审查现场监测 谷歌+ LinkedIn 品特烈 四方 Tumblr 广告 Javascript

我有一个表单,允许用户选择复选框。我能够创建一个数组,该数组接受复选框的文本内容。无论何时选择它们,它都会起作用。但是,每当取消选中框时,我希望从数组中删除文本。当前,当一个框未选中时,它会将未选中的框添加到数组中。我意识到这是因为每当发生on change函数时(即选中/未选中),我的代码都会填充数组。我只是在寻找一些东西,将删除字符串时,它是取消选中。有什么建议吗

html:


一款图片分享应用
审查现场监测
谷歌+
LinkedIn
品特烈
四方
Tumblr
广告
Javascript:

 var options = [];
 var inputs = document.getElementsByClassName('sum'),

for (var i=0; i < inputs.length; i++) {
    inputs[i].onchange = function() {
            if(this.checked){
        options.push(this.parentNode.textContent.trim());
           }
    }
var选项=[];
var inputs=document.getElementsByClassName('sum'),
对于(变量i=0;i
jshiddle:

使
选项
成为对象
var选项={};
var inputs=document.getElementsByClassName('sum');
函数getOptions(){
var optionsArray=[];
for(变量输入选项){
optionsArray.push(选项[key]);
}
返回选项数组;
}
对于(变量i=0;i
在复选框中添加一个id

一款图片分享应用
审查现场监测
谷歌+
LinkedIn
品特烈
四方
Tumblr
广告

使
选项
成为对象
var选项={};
var inputs=document.getElementsByClassName('sum');
函数getOptions(){
var optionsArray=[];
for(变量输入选项){
optionsArray.push(选项[key]);
}
返回选项数组;
}
对于(变量i=0;i
在复选框中添加一个id

一款图片分享应用
审查现场监测
谷歌+
LinkedIn
品特烈
四方
Tumblr
广告

使
选项
成为对象
var选项={};
var inputs=document.getElementsByClassName('sum');
函数getOptions(){
var optionsArray=[];
for(变量输入选项){
optionsArray.push(选项[key]);
}
返回选项数组;
}
对于(变量i=0;i
在复选框中添加一个id

一款图片分享应用
审查现场监测
谷歌+
LinkedIn
品特烈
四方
 var options = [];
 var inputs = document.getElementsByClassName('sum'),

for (var i=0; i < inputs.length; i++) {
    inputs[i].onchange = function() {
            if(this.checked){
        options.push(this.parentNode.textContent.trim());
           }
    }
var options = {};
var inputs = document.getElementsByClassName('sum');

function getOptions() {
    var optionsArray = [];
    for (var key in options) {
        optionsArray.push(options[key]);
    }
    return optionsArray;
}

for (var i=0; i < inputs.length; i++) {
        inputs[i].onchange = function() {
            if (this.checked) {
                options[this.id] = this.parentNode.textContent.trim();
            } else {
                delete options[this.id];
            }
            console.log(getOptions());
        }
}
<section id="extra-features">

                        <div class="span3">
                        <label class="checkbox" for="Checkbox1">
                            <input type="checkbox" id="Checkbox1" class="sum" value="50" data-toggle="checkbox"> Instagram
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" id="Checkbox2" class="sum" value="50" data-toggle="checkbox"> Review site monitoring
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" id="Checkbox3" class="sum" value="50" data-toggle="checkbox"> Google+
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" id="Checkbox4" class="sum" value="50" data-toggle="checkbox"> LinkedIn
                        </label>
                        </div>
                        <div class="span3">
                        <label class="checkbox">
                            <input type="checkbox" id="Checkbox5" class="sum" value="50" data-toggle="checkbox"> Pinterest
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" class="sum" value="50" id="Checkbox6" data-toggle="checkbox"> FourSquare
                        </label>
                        <label class="checkbox">
                            <input id="Checkbox6" type="checkbox" class="sum" value="50" data-toggle="checkbox"> Tumblr
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" class="sum" value="50" id="Checkbox7" data-toggle="checkbox"> Advertising
                        </label>
                        </div>
                    </section>
var options = [];
var inputs = document.getElementsByClassName('sum');

    for (var i=0; i < inputs.length; i++) {
            inputs[i].onchange = function() {
                var txt = this.parentNode.textContent.trim();
                options.push(txt);
                if(this.checked === false){
                    while (options.indexOf(txt) !== -1) {
                      options.splice(options.indexOf(txt), 1);
                    }
                }
            }
    }