#javascript #jquery
#javascript #jquery
Вопрос:
Я хотел бы знать, как выполнить многократное обновление в MySQL
с checkbox
помощью, потому что я не получаю id
атрибут checkbox
, кто-нибудь мог бы мне помочь?
HTML-код
<form method="post" action="../sys/fav.php">
<input type="hidden" id="id_photo" name="id" value="">
<div class="col-md-12">
<p align="right"><button class="btn btn-primary" id="final" name="final">Send</button></p>
</div>
<?php
require "../sys/connect.php";
$email = $_GET['email'];
$sql = mysqli_query($mysqli, "SELECT * FROM gallery WHERE email ='$email'");
while($row = mysqli_fetch_array($sql)){
$id = $row['id'];
$name = $row['nome_galeria'];
$emailcontact = $row['email_contact'];
$pass = $row['pass'];
$email = $row['email'];
$img = $row['img'];
print"<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
<input type="hidden" name="contact" value="$emailcontact">
<input type="hidden" name="login" value="$email">
<input type="hidden" name="pass" value="$pass">
<input type="hidden" name="name" value="$name">
<div class="hovereffect">
<img id="he" class="img-responsive" src="../images/images/gallery/big/$img" alt="$name">
<div class="overlay">
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary cke">
<input type="checkbox" name="ck[]" class="ck" value="not" id="ck_$id"><i class="fa fa-heart"></i>
</label>
</div>
</div>
</div>
</div>";
}
mysqli_close($mysqli)
?>
</form>
PHP-код
require "conexao.php";
if(isset($_POST['final'])){
$id = $_POST['id'];
foreach($_POST['ck'] as $ck){
$check = $ck;
$sql = mysqli_query($mysqli,"UPDATE gallery SET fav = '$check' WHERE id = '$id'")or die(mysqli_error($mysqli));
}
if($sql)
echo "Success!";
else
echo "Fail!";
}
Код, Js
чтобы получить id
из checkbox
$("#final").click(function(){
var str = "";
var boxes = $(".ck");
for(var i = 0; i< boxes.length; i ){
if(boxes[i].checked == true){
var tmp = boxes[i].id.split("_");
str =(i ? "," : "") tmp[1];
}
}
document.getElementById('id_fotos').value=str;
});
Ответ №1:
Вы можете получить значения checkbox, используя приведенный ниже код, и передать через ajax
var ckArray = new Array();
$.each($('input[name="ck[]"]:checked'),
function(index, ele){
ckArray.push($(ele).val());
});
Комментарии:
1. Мне не нужно добавлять функцию в jquery для получения значений checkbox, мой foreach php уже делает это настолько точно, исправляет идентификатор для его обновления, поскольку у меня также есть функция jquery, которая принимает идентификатор checkbox и помещает значение во вход, скрытый