我具有低於多個複選框,添加用戶訪問:獲取多個複選框值,並傳遞給PHP jQuery中
每個模塊具有不同的ID。但是現在我很困惑如何獲取複選框的值,然後使用ajax進行更新。
舉例:
- 模塊位置,我檢查創建和編輯。
- 模塊處我檢查只有查看
(有相同的組ID)
我沒有邏輯如何通過它來Ajax和基於模塊ID和組ID保存到數據庫。
的源代碼:
$.ajax(
{
url: "loadModule.php",
type: "POST",
data:
{
groupName: $("#groupName").val()
},
dataType: "JSON",
success: function (jsonStr)
{
var len = jsonStr.length;
for(var i=0; i<len; i++)
{
var moduleID = jsonStr[i].moduleID;
var moduleName = jsonStr[i].moduleName;
var projectName = jsonStr[i].projectName;
var groupID = jsonStr[i].groupID;
var chkModule = jsonStr[i].chkModule;
var chkEdit = jsonStr[i].chkEdit;
var tr_str = "<tr id='"+jsonStr[i].moduleID+"'>" +
"<td>" + projectName + "</td>" +
"<td>" + moduleName + "</td>" +
"<td align='center'><input type='checkbox' id='"+jsonStr[i].moduleID+"' name='chk[]' class='chk' value='CREATE'/><input type='hidden' id='groupIDInput' value='"+jsonStr[i].groupID+"'/></td>" +
"<td align='center'><input type='checkbox' id='"+jsonStr[i].moduleID+"' name='chk[]' class='chk' value='EDIT'/></td>" +
"<td align='center'><input type='checkbox' id='"+jsonStr[i].moduleID+"' name='chk[]' class='chk' value='VIEW'/></td>" +
"<td align='center'><input type='checkbox' id='"+jsonStr[i].moduleID+"' name='chk[]' class='chk' value='DELETE'/></td>" +
"</tr>";
$('.dataShow2').show();
$("#tData tbody").append(tr_str);
}
}
我想要什麼:
- 用ajax
- 獲取複選框值其傳遞給PHP保存到數據庫中。
JS btnUpdate
$('#btnUpdate').on('click', function()
{
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
var chkCreateInputValue = [];
$('input[name^=chkProjectInput]').each(function(){
chkCreateInputValue.push($(this).val());
});
$.ajax(
{
url: "updateGroupAccess.php",
type: "POST",
data:
{
chk: val,
groupIDInput: $("#groupIDInput").val(),
chkCreateInputValue: chkCreateInputValue
},
dataType: "JSON",
success: function (jsonStr)
{
$("#btnUpdate").attr({disabled: true, value: "Update"}).addClass('btn_inact').removeClass('btn_act');;
}
});
});
和PHP
if(!empty($_POST['chk']))
{
foreach($_POST['chkCreateInputValue'] as $chkCreateInputValue)
{
if(!in_array($chkCreateInputValue, $_POST['chk'])){
$del = oci_parse($c1, "DELETE FROM WA_GA_TBL_ACCESSMODULES WHERE MODULEID_FK = '$chkCreateInputValue' AND GROUPID_FK = '$groupIDInput'");
oci_execute($del);
}
}
foreach($_POST['chk'] as $chk)
{
$qChk = oci_parse($c1, "SELECT * FROM WA_GA_TBL_ACCESSMODULES WHERE GROUPID_FK = '$groupIDInput' AND MODULEID_FK IN ('$chk')");
oci_execute($qChk);
if(oci_fetch($qChk) > 0)
{
$sql = oci_parse($c1, "UPDATE WA_GA_TBL_ACCESSMODULES SET CHKCREATE = 'Y' WHERE GROUPID_FK = '$groupIDInput' AND MODULEID_FK IN ('$chk')");
oci_execute($sql);
}
else
{
$date_added = date("d-M-Y H:i:s");
$sql = oci_parse($c1, "INSERT INTO WA_GA_TBL_ACCESSMODULES(MODULEID_FK, GROUPID_FK, DATEADDED, ADDEDBY) VALUES('$chk', '$groupIDInput', TO_DATE('$date_added', 'dd-MON-yyyy hh24:mi:ss'), '$getUserID')");
oci_execute($sql);
}
}
}
else
{
foreach($_POST['chkCreateInputValue'] as $chkCreateInputValue)
{
if(!in_array($chkCreateInputValue, $_POST['chk'])){
$del = oci_parse($c1, "DELETE FROM WA_GA_TBL_ACCESSMODULES WHERE GROUPID_FK = '$groupIDInput'");
oci_execute($del);
}
}
}
此問題描述看起來完整...除了你已經嘗試失蹤。 –