2016-06-21 90 views
0

我需要做的是让用户从页面上选择一些语言,并获取包含所有选定语言的数组或字符串。 你知道我该怎么办? 它将在JavaScript方法中随后提供的字符串或数组。在html页面插入多项选择

+2

请询问正确的问题。请参考[如何提问](http://stackoverflow.com/help/mcve) – Shrabanee

+0

请看编辑,我添加了删除未经检查的语言的功能。干杯。 – MrBuggy

+0

@MrBuggy感谢它现在的作品:) – Mister98

回答

1

你可以使用一些复选框,并保存在一个这样的数组中的值:

var lang = []; 
 

 

 
$('.cbLang').on('change', function() { 
 
    this.checked ? lang.push(this.value) : removeLang(this.value); 
 
    console.log(lang); 
 
}); 
 

 
//REMOVE UNCHECKED LANGUAGE 
 
function removeLang(removeLang){ 
 
    lang = jQuery.grep(lang, function(value) { 
 
     return value != removeLang; 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input class="cbLang" type="checkbox" value="English">English 
 
<input class="cbLang" type="checkbox" value="German">German 
 
<input class="cbLang" type="checkbox" value="French">French

编辑:如果您还需要一种方法来从数组中删除,请检查JQuery grep():http://api.jquery.com/jquery.grep/

EDIT2:我已经添加了一个函数来删除一个unchecked la nguage来自阵列。此方法调用时,复选框未选中,并将语言的值作为参数。它应该像这样工作。

干杯

+0

当'uncheck'返回错误。 – Mohammad

+0

嗨@穆罕默德是的,我刚刚解决了这个问题,如何选择多种语言并将其添加到数组中......我也写道,如果他也想通过取消选中来删除它,他可以查看jQuery grep()并给他一个带有快捷键的模板,如果... :)如果你愿意,可以编辑它;-)干杯。 – MrBuggy

+0

@Mohammad我编辑了代码,并带有一个删除未经检查的语言的新函数。看看我的编辑。干杯。 – MrBuggy

0

的JavaScript

var lang = []; 


$('.cbLang').on('change', function() { 
    '' 
    this.checked ? lang.push(this.value) : removeLang(this.value); 
    console.log(lang); 
}); 

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<input class="cbLang" type="checkbox" value="English">English 
<input class="cbLang" type="checkbox" value="German">German 
<input class="cbLang" type="checkbox" value="French">French