recoger - obtener valor checkbox php
la secuencia de comandos no funciona en Ajax valor devuelto (3)
No está llamando a la función onclick en su código generado ajax. En getdetails.php
Cambiar
<input type="checkbox" name="item" id="item" value="''.$row[item_id].''">
a
<input type="checkbox" onclick="javascript:call_check()" name="item" id="item" value="''.$row[item_id].''">
También el atributo id de cualquier etiqueta html debe ser único. Esto puede no crear ningún problema, pero definitivamente no es una buena práctica.
Estoy mostrando la identificación del artículo y el título. También hay un enlace "mostrar elementos de este miembro". Mientras hace clic en él, se mostrarán los elementos de ese usuario. Estoy usando ajax para esto. Hay una secuencia de comandos para detectar el orden de haciendo clic en la casilla de verificación. Esto funciona correctamente para los primeros artículos enumerados. Pero no funciona para los artículos devueltos ajax.
<table id="result" width="100%">
<?php
if($tot1>0){
while($row5=mysql_fetch_array($result1))
{
?>
<tr class="detail9txt" height="30">
<td width="2%"><input type="checkbox" name="item" value="<?=$row5[item_id];?>"></td>
<td align="center" width="12%" style="vertical-align:baseline;"><a href=""><?=$row5[''item_title''];?></a>
</td>
</tr>
<tr><td colspan="6" align="right"><a href="javascript:callfunc(<?= $row5[user_id]; ?>)" style="font-size:10px;">Show items for this Member</a></td></tr>
<?php
}}
?>
</table>
<input name="hidden_field" type="hidden" id="hidden_field"/>
<input type="image" name="submit" src="images/submito.gif" value="submit">
código de script y ajax es
<script type="text/javascript">
function callfunc(str)
{
//alert(str);
if (str.length==0)
{
document.getElementById("result").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("result").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getdetails.php?cid="+str,true);
xmlhttp.send();
}
</script>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
<!--
$(document).ready(function () {
var array = [];
$(''input[name="item"]'').click(function () {
if ($(this).attr(''checked'')) {
// Add the new element if checked:
array.push($(this).attr(''value''));
alert(array);
//hidden_field.value = array.join('','');
//hidden_field.value = array.join('','');
document.getElementById(''hidden_field'').value=array.join('','');
}
else {
// Remove the element if unchecked:
for (var i = 0; i < array.length; i++) {
if (array[i] == $(this).attr(''value'')) {
array.splice(i, 1);
}
}
}
});
});
//-->
</script>
El código getdetails.php es
<?php
require ''include/connect.php'';
$cid=$_GET[''cid''];
$sql="select * from table where user_id=$cid";
$res=mysql_query($sql);
$tot=mysql_num_rows($res);
if($tot>0){
while($row=mysql_fetch_array($res))
{
echo ''<tr class="detail9txt" height="30">
<td width="2%"><input type="checkbox" name="item" value="''.$row[item_id].''"></td>
<td align="center" width="12%" style="vertical-align:baseline;">
<a href="">''.$row[''item_title''].''</a>
</td> </tr>'';
}}
?>
Probablemente deberías cambiar click
en el script en
Usa este script
<script type="text/javascript">
var array = [];
$(''#item'').live(''click'', function() {
if ($(this).attr(''checked'')) {
// Add the new element if checked:
array.push($(this).attr(''value''));
document.getElementById(''hidden_field'').value=array.join('','');
}
else {
// Remove the element if unchecked:
for (var i = 0; i < array.length; i++) {
if (array[i] == $(this).attr(''value'')) {
array.splice(i, 1);
}
}
}
});
</script>