[英]Select checkbox multiple by custom attribute and get value
我有一個學習東西的項目。 我有一個預訂系統,可以預訂電影座位。 這一切都做得很好,但現在我想在復選框上放置一個自定義值,當它被選中時,我想從該屬性中獲取值,我想將它傳遞給ajax請求。 這是我的代碼:
<script>
$(document).ready(function (e){
$("#frmRezerva").on('submit',(function(e){
e.preventDefault();
var $fields = $(this).find('input[name="scaun_film[]"]:checked');
if (!$fields.length) {
alert('Selectati un scaun sau mai multe!');
return false;
}
var arr=[];
$.each($("input[name='scaun_film[]']:checked"), function(){
arr.push($(this).val());
});
//console.log(arr)
$("#mail-status3").hide();
$('#rezBtn').hide();
$('#loader-icon3').show();
$.ajax({
url: "rezervare.php",
type: "POST",
dataType:'json',
data: {
"arr": arr,
"id_movie":$('input[name="id_movie"]').val(),
"nume_film":$('input[name="nume_film"]').val(),
"gen_film":$('input[name="nume_film"]').val(),
"nota_film":$('input[name="nota_film"]').val(),
"user_id":$('input[name="user_id"]').val(),
"user_email":$('input[name="user_email"]').val(),
"data_film":$('select[name="data_film"]').val(),
"bilete_film":$('input[name="bilete_film"]').val(),
"cinematograf":$('select[name="cinematograf"]').val()},
success: function(response){
window.setTimeout(function(){location.reload()},2000)
$("#mail-status3").show();
$('#loader-icon3').hide();
if(response.type == "error") {
$('#rezBtn').show();
$("#mail-status3").attr("class","alert alert-danger");
} else if(response.type == "message"){
$('#rezBtn').show();
$("#mail-status3").attr("class","alert alert-success");
}
$("#mail-status3").html(response.text);
},
error: function(){}
});
}));
});
</script>
這是我的jquery,我選中是否選中了復選框。 我可以獲得值,但我想要相同的東西,但只能從自定義屬性。 我的自定義屬性是seatName,其中包含數據庫中的值。 編輯:這里的HTML是:
<?php
$sqlsq = "SELECT * FROM scaune WHERE id_scaun_movie='{$_GET['id_movie']}'";
$resultsq = mysqli_query($conn, $sqlsq);
while($rs = mysqli_fetch_assoc($resultsq)){?>
<?php if($rs['ocupat'] == 1){?>
<div class="box">
<label>
<input type="checkbox" value="<?=$rs['id'];?>" disabled checked><span class="label-text"></span>
</label>
</div>
<?php }else{?>
<div class="box">
<label>
<input type="checkbox" value="<?=$rs['id'];?>" seatName="<?=$rs['scaun'];?>" name="scaun_film[]"><span class="label-text"></span>
</label>
</div>
<?php } ?>
<?php } ?>
所以我需要做的是選擇椅子名稱和那個椅子的id來更新mysql rezerved,但我沒有找到一個解決方案來獲取id和椅子的名稱,當檢查時我也需要超過1所以如果選中3把椅子可以檢查所有名稱座位。 謝謝!
沿着獲取其他字段的值的方式:
"id_movie":$('input[name="id_movie"]').val()
你可能會這樣做:
"seat_name":$('input[name="seat_name"]').data('seatName'),
但是你沒有顯示任何頁面結構/標記,所以這充其量只是一個建議。
如果您的元素看起來像這樣,這將有效:
<input type="checkbox" name="seat_name" value="something" data-seatName="5A">
使用自定義data-
屬性比構建自己的屬性更受歡迎,例如
<input type="checkbox" seatName="5A">
數據前綴更好
<input type="checkbox" data-seatName="5A">
編輯
您發布的HTML / PHP:
<input type="checkbox" value="<?=$rs['id'];?>" seatName="<?=$rs['scaun'];?>"
name="scaun_film[]"><span class="label-text"></span>
可以簡單地重新完成:
<input type="checkbox" value="<?=$rs['id'];?>" data-seatName="<?=$rs['scaun'];?>"
name="scaun_film[]"><span class="label-text"></span>
然后獲取數據將如上所述,並且您將它添加到您在ajax調用中發送的數據:
$.ajax({
url: "rezervare.php",
type: "POST",
dataType:'json',
data: {
"arr": arr,
"id_movie":$('input[name="id_movie"]').val(),
"nume_film":$('input[name="nume_film"]').val(),
"gen_film":$('input[name="nume_film"]').val(),
"nota_film":$('input[name="nota_film"]').val(),
"seat_name":$('input[name="seat_name"]').data('seatName'), /* ADD */
"user_id":$('input[name="user_id"]').val(),
/* etc. */
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.