есть checkbox echo '<td><input type="checkbox" class="checkbox" name="ch" id="'.$rows["id"].'" /></td>'; создается куча checkbox есть обработчик <a href="" onclick=" var arr = []; $(\'input[name=\'ch\']:checked\').each(function() {arr.push($(this).attr(\'id\'));}); $.post(\'../rez/del.php\',{listId: arr}) "><img src="../images/del.gif" width="15" height="15" alt="удалить" title="удалить"></a>'; по нажатию на картинку на del.php должен попасть массив listId в котором через запятую id как его получить и обработать?
...name="ch[]" value="' . $rows['id] . '"... Или ...name="ch[' . $rows['id] . ']... А id он для другого.
сделал так echo '<td><input type="checkbox" class="checkbox" name="chbox[' . $rows["id"] . ']" id="'.$rows["id"].'" /></td>'; Добавлено спустя 3 минуты 32 секунды: как теперь сделать массив chbox
не понял как Добавлено спустя 15 минут 27 секунд: echo '<td><input type="checkbox" class="checkbox" name="chbox[]" value="' . $rows["id"] . '" id="'.$rows["id"].'" /></td>';
ничего не нашел в данный момент есть echo '<td><input type="checkbox" class="checkbox" name="chbox[]" value="' . $rows["id"] . '" id="'.$rows["id"].'" /></td>'; и <a href="" onclick=" var chbox = new Array(); $("input[@name=\'chbox[]\']:checked").each(function() {selectedItems.push($(this).val());}); $.ajax({ type: \'POST\', url: \'../rez/del.php\', data: chbox }); "><img src="../images/del.gif" width="15" height="15" alt="удалить" title="удалить"></a>'; ничего не получается
засунул Код (Text): function delall(){ //http://www.cyberforum.ru/javascript-jquery/thread1098402.html var chbox = $(\':checkbox\').map(function(i,el){ if($(el).prop(\'checked\')){ return $(el).val(); } }).get().join(\',\'); console.log(chbox); }); //var chbox = new Array(); //$("input[@name=\'chbox[]\']:checked").each(function() {selectedItems.push($(this).val());}); $.ajax({ type: \'POST\', url: \'../rez/del.php\', data: \'chArr=chbox\', cashe: false, success: function(data) {} }); } <a href="" onclick="delall();"><img src="../images/del.gif" width="15" height="15" alt="удалить" title="удалить"></a>'; не работает Добавлено спустя 2 минуты 14 секунд: в файле del.php <? // строка, которую будем записывать $text = "Какой-то текст"; // открываем файл, если файл не существует, //делается попытка создать его $fp = fopen("file.txt", "w"); // записываем в файл текст fwrite($fp, $text); // закрываем fclose($fp); ?> если файл появился запрос отправился а у меня не появляется Добавлено спустя 9 минут: function delall(){ $.ajax({ type: 'POST', url: '../rez/del.php', data: 'chArr=chbox', cashe: false, success: function(data) {} }); } вот так появляется function delall(){ //http://www.cyberforum.ru/javascript-jquery/thread1098402.html var chbox = $(':checkbox').map(function(i,el){ if($(el).prop('checked')){ return $(el).val(); } }).get().join(','); console.log(chbox); }); //var chbox = new Array(); //$("input[@name=\'chbox[]\']:checked").each(function() {selectedItems.push($(this).val());}); $.ajax({ type: 'POST', url: '../rez/del.php', data: 'chArr=chbox', cashe: false, success: function(data) {} }); } вот та нет
сейчас у меня так function delall(){ var checks = new Array(); $("input[name='chbox']:checked").each(function() {chbox.push($(this).val()); }); var data=JSON.stringify(checks); $.ajax({ type: 'POST', url: '../rez/del.php', dataType: 'json', data: {checks: data}, success: function(data) {} }); } в файле только [] массив не передает что не так?
checks - уходит в обработчик $_POST['checks'] data - массив у меня в data получается [] а нужно [1,2, и т.д.](выбранные checksbox)
как правильно прописать var dat=$('input:checkbox:checked').map(function() {return this.value;}).get(); если мне нужны echo '<td><input type="checkbox" class="checkbox" name="chbox[]" value="' . $rows["id"] . '" id="'.$rows["id"].'" /></td>'; а то собирает все checkbox со страницы Добавлено спустя 45 секунд: $.ajax({ type: 'POST', url: '../rez/del.php', //dataType: 'json', data: 'checks='+dat, //success: function(data) {} }); прописал так приходит 405,on,407,on,412,on,413,on,414,on,415,on,416,on,1
все разобрался echo '<td><input type="checkbox" class="checkbox" name="chbox" value="' . $rows["id"] . '" id="'.$rows["id"].'" /></td>'; var dat=$('input[name=chbox]:checked').map(function() {return this.value;}).get(); получаю 405,407,412,413,414,415,416 как теперь сделать цикл if(!empty($_POST['checks'])) {$query = "(" ; foreach($type as $val) $query.= "$val,"; $query = substr($query, 0, strlen($query) - 1 ). ")" ; $query = "DELETE FROM tovar WHERE id IN ".$query; echo $query; // Выполняем запрос if(!mysql_query($query)) { echo mysql_error()."<br>"; echo $query."<br>"; } }
Код (Text): $arr = array($_POST['checks']); foreach ($arr as $val) { $id=$val; //$sql="DELETE FROM tovar WHERE id=$val"; $res=mysql_query("SELECT * FROM tovar WHERE id=".$val.""); echo $val; $row = mysql_fetch_array( $res); $img=$row['img']; echo $img; unlink("../tovar/img/".$img.""); mysql_query($sql); } unset($val); } что не так? если один выбран работает а если несколько то нет