2016-06-21 86 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