2016-06-05 3 views
0

У меня есть несколько флажков, которые были the've отдавались в HTML, как это и тогда я могу выбрать более чем один из нихMultiple флажок с AJAX

<?php $got=mysqli_query($con, "SELECT * FROM JobChoose"); $checkbox = 
''; while($row = mysqli_fetch_assoc($got)) { $checkbox .= 
'<li><input type="checkbox" id="chkbox" name="chkbox[]" value = 
"'.$row['Job'].'">'.$row['Job'].'</input></li>'; } 
?> 
<ul> <?php echo $checkbox;?> <li><input type="checkbox" id="check" 
name="chkbox[]" value ="else">else</input></li> 

Тогда в AJAX я использую этот

$("#registerwth").click(function() { 
    var surname = $("#search_text").val(); 
    var name = $("#name").val(); 
    var custId = $("#custId").val(); 
    var company_name = $("#company_name").val(); 
    var firm = $("#firm").val(); 
    var address = $("#address").val(); 
    var town = $("#town").val(); 
    var country = $("#country").val(); 
    var telephone = $("#telephone").val(); 
    var fax = $("#fax").val(); 
    var mobile = $("#mobile").val(); 
     var mail = $("#mail").val(); 
      var web_site = $("#web_site").val(); 
       var barcode = $("#barcode").val(); 
       var checkbox = [] 
     $("input[name='chkbox[]']:checked").each(function() 
     { 
      checkbox.push(parseInt($(this).val())); 
     }); 

     $.ajax({ 
      url: "insertnew.php", 
      method: "POST", 
     data: {surname:surname,name:name,custId:custId,company_name:company_name,firm:firm,address:address,town:town,country:country,telephone:telephone,fax:fax,mobile:mobile,mail:mail,web_site:web_site,barcode:barcode,checkbox:checkbox} , 
dataType:"text", 
      success: function(data) 
         {      
         } 
     }); 
      $(':input[type="text"]').val(''); 
    $('input:checkbox').removeAttr('checked'); 
    }); 

В php я использую это, чтобы вставить значения в db. Ячейка, которая содержит значение чекбокса $ Работы

<?php 
require('config.php'); 
include("auth.php"); 
date_default_timezone_set('Europe/Athens'); 
if(! $con) { 
die('Could not connect: ' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false))); 
} 

$custId=mysqli_real_escape_string($con,$_POST['custId']); 
$surname=mysqli_real_escape_string($con,$_POST['surname']); 
$name= mysqli_real_escape_string($con,$_POST['name']); 
$company_name=mysqli_real_escape_string($con,$_POST['company_name']); 
$firm=mysqli_real_escape_string($con,$_POST['firm']); 
$address= mysqli_real_escape_string($con,$_POST['address']); 
$town=mysqli_real_escape_string($con,$_POST['town']); 
$country=mysqli_real_escape_string($con,$_POST['country']); 
$telephone= mysqli_real_escape_string($con,$_POST['telephone']); 
$fax=mysqli_real_escape_string($con,$_POST['fax']); 
$mobile=mysqli_real_escape_string($con,$_POST['mobile']); 
$mail= mysqli_real_escape_string($con,$_POST['mail']); 
$web_site=mysqli_real_escape_string($con,$_POST['web_site']); 
$barcode=mysqli_real_escape_string($con,$_POST['barcode']); 
$Job=mysqli_real_escape_string($con,$_POST['checkbox']); 


$ins_query2="insert into base (surname,name,custId,company_name,firm,address,town,country,telephone,fax,mobile,mail,web_site,barcode,Job) 
values ('".$surname."','".$name."','".$custId."','".$company_name."','".$firm."','".$address."','".$town."','".$country."','".$telephone."','".$fax."','".$mobile."','".$mail."','".$web_site."','".$barcode."','".$checkbox."')"; 
$retval = mysqli_query($con , $ins_query2); 

Всех остальных значений вставляются за исключением стоимости работы CheckBox Спасибо

+0

В чем вопрос? – David

+0

@David Это не работает, когда дело доходит до ввода значений флажка в db – aristeidhsP

+0

@David У меня также кнопка sumbit form, и я использую $ chkbox = $ _POST ['chkbox']; $ chkNew = ""; foreach ($ chkbox as $ chkNew1) {$ chkNew. = $ chkNew1. ""; } и все хорошо работает – aristeidhsP

ответ

0

Я получил это работает на этой

var chkbox = new Array(); $("input:checked").each(function() { 
chkbox.push($(this).val()); }); 

, а затем в PHP

$Job= mysqli_real_escape_string($con,$_REQUEST['Job']); 
$chkbox = $_POST['chkbox']; 
$chkNew = ""; 
foreach($chkbox as $chkNew1) 
{$chkNew .= $chkNew1 . ","; 
} 
0

Вы пытаетесь вставить неопределенный переменный $ флажка, вместо того, чтобы использовать $ Работа

+0

Что нужно изменить – aristeidhsP

+0

изменить $ checkbox на $ Работа внутри части значений запроса – DinosaurDerek

+0

он не работает. В форме отправки я использую это и хорошо работает $ chkbox = $ _POST ['chkbox']; $ chkNew = ""; foreach ($ chkbox as $ chkNew1) {$ chkNew. = $ ChkNew1. ""; } – aristeidhsP

Смежные вопросы