Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Значения Chekbox в Input
 
 автор: tima2010   (13.02.2012 в 10:08)   письмо автору
 
 

Привет! Понадобилось написать скрипт который по событию change у чекбоксов записывал их знаениче в скрытое поле, при смене наоборот удалял то что только что добавил...

Пишу так:

<input type="checkbox" value="14" class="my_checkbox"> Первое знаечение 14 <br>
<input type="checkbox" value="17" class="my_checkbox"> Второе знаечение 17 <br>
<input type="checkbox" value="11" class="my_checkbox"> Третье знаечение 11 <br>
<input type="hidden" name="my_hidden" value="" id="my_hidden_val" />

<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$(".my_checkbox").change(function(){

    var my_id = $(this).val() + ','; // value у чекбокса
    var my_hidden_val = $('#my_hidden_val').val(); // value у скрытого поля
    
    if ($(this).attr("checked")) {
    
        $('#my_hidden_val').val(my_hidden_val + my_id); // value у скрутого поля при активном чекбоксе
        
    } else {
    
        var count_id = my_id.length; // количество символов только что добавленного value у чекбокса
        var count_arr = my_hidden_val.length; // количество символов у переменной с содержимым value скрытого поля
        var count_get = count_arr - count_id; // для substr сколько символов было ДО добавления value
        
        var my_substr = my_hidden_val.substr(0,count_get); // режем строку с начала до предыдушего количества символов
        
        $('#my_hidden_val').val(my_substr); // вставляем новый value
        
    }
});
})
</script>


Верно ли я реализовал данную задачу? может есть подход куда проще?

  Ответить  
 
 автор: AlexSol   (13.02.2012 в 10:22)   письмо автору
 
   для: tima2010   (13.02.2012 в 10:08)
 


<input type="checkbox" value="14" class="my_checkbox"> Первое знаечение 14 <br> 
<input type="checkbox" value="17" class="my_checkbox"> Второе знаечение 17 <br> 
<input type="checkbox" value="11" class="my_checkbox"> Третье знаечение 11 <br> 
<input type="text" name="my_hidden" value="" id="my_hidden_val" /> 
<script type="text/javascript">
 
jQuery(document).ready(function(){

$(".my_checkbox").change(function(){ 
    var val = []; // массив с значениями выбранных элементов
    $.each($(".my_checkbox:checked"),function(i,n){ // обходим все активные чекбоксы
        val[i] = $(n).val(); // добавляем в массив их значения
    })
    $('#my_hidden_val').val(val.join(',')) // склеиваем массив в строку и пишем результат в нужное поле
})
})

  Ответить  
 
 автор: tima2010   (13.02.2012 в 12:23)   письмо автору
 
   для: AlexSol   (13.02.2012 в 10:22)
 

Вот значит как, огромное спасибо буду разбирать код, все работает!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования