Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> При нажатии CheckBox передать параметр в PHP, как передать значение в php? 
:(
    Опции темы
Zlo
  Дата 29.12.2015, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



Всем доброго времени суток и с наступающим!
Для начала опишу задачу:
Есть страничка с некоторым количеством чекбоксов. При нажатии на который должно меняться значение в БД.
Никак не могу понять как сделать чтобы при нажатии на чек бокс скрипту передавалось некоторая переменная или несколько переменных которые бы однозначно идентифицировали запись в БД.
 
Сам в яваскрипте вообще никак. Но с помощью гугла удалось кое что сделать, то есть какие-то данные я отправлять уже умею, но никак не могу понять как мне сделать так чтоб где-то в описании чекбокса внутри HTML были вот те данные которые нужно отправить PHP скрипту и как их забрать из этого описания.

Собственно код который сейчас есть
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd"> 
<html> 
<head> 
<title>Проверка checkbox</title> 
<meta http-equiv="content-type" content="text/html; charset=windows-utf-8" />
<script type="text/javascript" src="/ajax/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready( function() {

var sendData =  $(':checkbox').map(function(i,el){
    if($(el).prop('checked')){
        return $(el).val();
        }
})

    $(':checkbox').click(function() {
        $.ajax({
            type: 'POST',
            url: 'get.php',
            data: 'a='+sendData,
            
            cache: false,
            success: function(result) {
                $('#content1').html(result[0]);
            },
        });
    });
});
</script>
</head> 
<body> 

<input type='checkbox' id='check1' onclick='javascript:sendCheckInfo(this)'>Передать параметр 2
</BR>
<input type="checkbox" name="1" value="1">Перередать параметр 1
<table>
<tr>
<td id="prev">prev</td>
<td id="content1">X</td>
<td id="next">next</td>
</tr>
</table>
</body> 
</html>


Если вместо
Код

data: 'a='+sendData,

напишу 
Код

data: 'a=2',

то данные отлично передаются в PHP скрипт.
 если же как указано data: 'a='+sendData, то в скрипт попадает пустой параметр а

Уже всю голову сломал, или я не так гуглю.  smile  


PM MAIL   Вверх
Zlo
  Дата 30.12.2015, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.9.2004

Репутация: нет
Всего: 1



Если 
Код

var sendData =  $(':checkbox').map(function(i,el){
    if($(el).prop('checked')){
        return $(el).val();
        }
})

заменить на 
Код

var sendData = $(':checkbox').val();

то отправляется значение value, но всегда первого чекбокса на странице(

Добавлено через 5 минут и 27 секунд
Ладно, с этим я кажется разобрался.
Оказывается надо было поместить переменную внутрь функции:
Код

$(':checkbox').click(function() {
    var sendData = $(this).val();
        $.ajax({
            type: 'POST',
            url: 'get.php',
            data: 'a='+sendData,
            
            cache: false,
            success: function(result) {
                $('#content1').html(result[0]);
            },
        });
    });


Добавлено через 8 минут и 22 секунды
А может тогда еще кто подскажется как менять значение чекбокса в зависимости от того что ответил скрипт?
Или например если скрипт не ответил потому, что интернет отключился, как в таком случае отменить установку\снятие флажка?
PM MAIL   Вверх
ksnk
Дата 30.12.2015, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



У чекбокса нужно проверять не val(), а значение атрибута checked. Или, если ближе к jQuery -
Код

var sendData = $(this).is(':checked')?1:0;
...
 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1340 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.