Как получить множественное значение флажка с помощью jquery
Как я могу получить значение флажков, которые выбраны с помощью jquery? Мой html-код выглядит следующим образом:
<input id="ad_Checkbox1" class="ads_Checkbox" type="checkbox" value="1" />
<input id="ad_Checkbox2" class="ads_Checkbox" type="checkbox" value="2" />
<input id="ad_Checkbox3" class="ads_Checkbox" type="checkbox" value="3" />
<input id="ad_Checkbox4" class="ads_Checkbox" type="checkbox" value="4" />
<input type="button" id="save_value" name="save_value" value="Save" />
Ответы
Ответ 1
Попробуйте это
<input name="selector[]" id="ad_Checkbox1" class="ads_Checkbox" type="checkbox" value="1" />
<input name="selector[]" id="ad_Checkbox2" class="ads_Checkbox" type="checkbox" value="2" />
<input name="selector[]" id="ad_Checkbox3" class="ads_Checkbox" type="checkbox" value="3" />
<input name="selector[]" id="ad_Checkbox4" class="ads_Checkbox" type="checkbox" value="4" />
<input type="button" id="save_value" name="save_value" value="Save" />
функция
$(function(){
$('#save_value').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
});
});
Ответ 2
Чтобы получить массив значений из нескольких отмеченных флажков, используйте функции jQuery map/get:
$('input[type=checkbox]:checked').map(function(_, el) {
return $(el).val();
}).get();
Это будет возвращать массив с проверенными значениями, например: ['1', '2']
Вот рабочий пример на jsfiddle: http://jsfiddle.net/7PV2e/
Ответ 3
Вы можете сделать это следующим образом:
$('.ads_Checkbox:checked')
Вы можете выполнить итерацию с помощью each()
и заполнить массив значениями флажков.
Живая демонстрация
Чтобы получить значения выбранных флажков в массиве
var i = 0;
$('#save_value').click(function () {
var arr = [];
$('.ads_Checkbox:checked').each(function () {
arr[i++] = $(this).val();
});
});
Изменить, используя .map()
Вы также можете использовать jQuery.map с помощью get()
, чтобы получить массив выбранных значений checkboxe.
В качестве побочной заметки, использующей this.value
вместо $(this).val()
, будет лучше работать.
Живая демонстрация
$('#save_value').click(function(){
var arr = $('.ads_Checkbox:checked').map(function(){
return this.value;
}).get();
});
Ответ 4
Вы можете получить их так
$('#save_value').click(function() {
$('.ads_Checkbox:checked').each(function() {
alert($(this).val());
});
});
jsfiddle
Ответ 5
Вы можете попробовать:
$('#save_value').click(function(){
var final = '';
$('.ads_Checkbox:checked').each(function(){
var values = $(this).val();
final += values;
});
alert(final);
});
Это вернет все значения флажка в одном экземпляре.
Здесь - действующая демонстрация в реальном времени.
Ответ 6
$('input:checked').map(function(i, e) {return e.value}).toArray();
Ответ 7
Так как u имеет одинаковое имя класса со всеми, то
$(".ads_Checkbox")
предоставит вам все флажки, а затем вы можете повторять их с помощью каждого цикла, например
$(".ads_Checkbox:checked").each(function(){
alert($(this).val());
});
Ответ 8
Также вы можете использовать $('input[name="selector[]"]').serialize();
. Он возвращает строку с кодировкой URL, например: "селектор% 5B% 5D = 1 & селектор% 5B% 5D = 3"
Ответ 9
Попробуйте getPrameterValues()
для получения значений из нескольких флажков.
Ответ 10
попробуйте это.. (ребята, я новая пчела.. поэтому, если я ошибаюсь, то мне очень жаль. Но я нашел решение таким образом.)
var suggestion = [];
$('#health_condition_name:checked').each(function (j, ob) {
var odata = {
health_condition_name: $(ob).val()
};
health.push(odata);
});
Ответ 11
Попробуйте это, JQuery, как получить несколько значений флажка
Для Демо или более Пример
$(document).ready(function() {
$(".btn_click").click(function(){
var test = new Array();
$("input[name='programming']:checked").each(function() {
test.push($(this).val());
});
alert("My favourite programming languages are: " + test);
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Get Values of Selected Checboxes</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
<form>
<h3>Select your favorite Programming Languages :</h3>
<label><input type="checkbox" value="PHP" name="programming"> PHP</label>
<label><input type="checkbox" value="Java" name="programming"> Java</label>
<label><input type="checkbox" value="Ruby" name="programming"> Ruby</label>
<label><input type="checkbox" value="Python" name="programming"> Python</label>
<label><input type="checkbox" value="JavaScript" name="programming"> JavaScript</label>
<label><input type="checkbox" value="Rust" name="programming">Rust</label>
<label><input type="checkbox" value="C" name="programming"> C</label>
<br>
<button type="button" class="btn_click" style="margin-top: 10px;">Click here to Get Values</button>
</form>
</body>
</html>
Ответ 12
var mode = [];
jQuery("input[name='mode[]']:checked").each(function(i) {
mode.push($(this).val());
});
Ответ 13
$(document).ready(function(){
$(".chk").click(function(){
var d = $("input[name=test]"); if(d.is(":checked")){
//
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="test"> 'test1'
<input type="checkbox" name="test"> 'test2'
<input type="checkbox" name="test"> 'test3'
<input type="button" value="check" class='chk'/>