0
我認爲我想要做的事情非常簡單,但無法讓它工作。我循環遍歷一個表並從現有行獲取一些值,該部分起作用。然後我使用AJAX嘗試製作一個沒有重複的多維數組,但有些東西不起作用。我真正想要做的是刪除重複部分,重新排列數組和array_push新值。下面是我有:jquery每個循環成一個多個陣列,檢查重複項
AJAX:
function getData(){
$("#table .mainTR").each(function(){
var key = $(this).find(".key").text();
var sel = $(this).find(".s").val();
var q = $(this).find(".q").val();
$.ajax({
type: "POST",
async: false,
data: {key: key, s: sel, q: q}
});
});
}
PHP:
if(isset($_POST['key'])){
$title = $_POST['key'];
$s = $_POST['s'];
$q = $_POST['q'];
if(!empty($_SESSION['check'])){
foreach ($_SESSION['check'] as $key=>$value){
if(in_array($title, $value)){
unset ($_SESSION['check'][$title]);
$_SESSION['check'] = array_values($_SESSION['check']);
array_push($_SESSION['check'], array("key"=>$title, "s"=>$s, "q"=>$q));
}
}
}else{
$_SESSION['check'] = array(array("key"=>$title, "s"=>$s, "q"=>$q));
}
}
有什麼不對的邏輯是什麼?它似乎應該工作。嘗試刪除表格行時,相同的foreach循環有效。它找到正確的KEY並刪除它。爲什麼它不在這裏工作?
你可否澄清一下?哪部分工作? PHP?與此同時,我注意到你爲每個「#table.mainTR」解僱了$ .ajax。也許準備一個數據結構並通過$ .ajax發送一次可能是第一步。 – sixFingers 2013-05-12 14:27:57
工作的部分是在jQuery中獲取正確的行數據。而且,是的,我注意到,它被觸發的次數與行數一樣多。你會如何建議我準備?將數據組合在一起,然後在PHP中分離? – user2025469 2013-05-12 14:33:25
將請求序列化爲JSON,並通過PHP中的「json_decode」對其進行反序列化。另外不要使用'async:false'。 – moonwave99 2013-05-12 14:35:35