2016-12-11 3 views
1

У меня есть такой HTML и нужен на форме представить, чтобы получить все проверил значение в одном значении результата, но я использую библиотеку iCheck.js и не имеют входов с атрибутом провереныполучить все проверило входные значения iCheck при отправке формы

$('.checkbox-buy').iCheck({ 
 
    checkboxClass: 'icheckbox_square-green', 
 
    radioClass: 'iradio_square-green', 
 
    increaseArea: '20%' // optional 
 
}); 
 

 
/* I need something like but it doesn't work 
 
*/ 
 
$('#form1').submit(function(){ 
 
    var result; 
 
    $('.checkbox-buy').on('ifChecked', function(event).each(function(){ 
 
result += $(this).val(); 
 
}); 
 
});
<script src="http://tvoetango.ru/elki2/libs/icheck/icheck.min.js"></script> 
 

 
<link href="http://tvoetango.ru/elki2/libs/icheck/skins/square/green.css" rel="stylesheet"/> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<form action="form.php" method="post" id="form1"> 
 
\t <input type="checkbox" name="buy-item" class="checkbox-buy" value="value 1"> 
 
\t <input type="checkbox" name="buy-item" class="checkbox-buy" value="value 2"> 
 
\t <input type="checkbox" name="buy-item" class="checkbox-buy" value="value 3"> 
 
    <!-- 
 
In html I have such code 
 
--> 
 
    <!-- 
 
    <div class="icheckbox_square-green checked" style="position: relative;"> 
 
<input class="checkbox-buy" name="buy-item" value="value1" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 0px none; opacity: 0;" type="checkbox"> 
 
<ins class="iCheck-helper" style="position: absolute; top: -20%; left: -20%; display: block; width: 140%; height: 140%; margin: 0px; padding: 0px; background: rgb(255, 255, 255) none repeat scroll 0% 0%; border: 0px none; opacity: 0;"></ins> 
 
</div> 
 
--> 
 
</form>

+0

Что вы имеете в виду, говоря "* в одном значении результата *"? Нужны ли они вам в разделенном запятой списке, скопированном в другое поле ввода, в массив JavaScript, в JSON или что-то еще? – insertusernamehere

+0

Я добавляю больше ретушек. Мне нужно получить все значения, где установлен флажок. Неважно, в каком типе – Valentina

ответ

2

у меня есть следующий HTML:

<input type="checkbox" name="buy-item" class="checkbox-buy" value="value 1" checked="true"> 
<input type="checkbox" name="buy-item" class="checkbox-buy" value="value 2"> 
<input type="checkbox" name="buy-item" class="checkbox-buy" value="value 3"> 

Чтобы получить проверил значение как массив со значениями:

var dic = $(".checkbox-buy:checked").map(function(){ 
    return $(this).val(); 
}).toArray(); 

console.log(dic); // => ["value 1"] 

Demo

+0

спасибо, это помогло мне – iCoders

0

попробовать это:

$('#form1').submit(function(){ 
    var result = ''; 
    $(this).find('.checkbox-buy').each(function() 
    if($(this).prop("checked") == true) { 
     result += $(this).val(); 
    } 
    }); 
}); 
0

ниже код работает для меня,

$('#form1').submit(function(){ 
    var result = ''; 
    $.each($("input[name='buy-item']:checked"), function(){ 
     result += $(this).val(); 
    }); 
}); 
Смежные вопросы