Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom estou fazendo um sistema de paginação e estou tentando colocar categorias, o onchange chama o ajax tudo certinho, porém o ID da categoria fica como idefined.
<select id="cat" name="cat" onchange="var cate = $('#cat').value; paginas.iniciar('#paginacao-noticia','noticia','<?php echo $pagina; ?>',''+cate+'');">
<option value="tudo">Todas</option>
<?php
$cats = $conecta->query("SELECT * FROM noticias_cat ORDER BY id");
while($cat = $cats->fetch_array()) {
?>
<option value="<?php echo $cat['id']; ?>"><?php echo $cat['nome']; ?></option>
<?php
}
?>
</select>
Ajax
var paginas = {
iniciar:function(div, caminho, id, cat) {
$.ajax({
type:"POST",
url:'arquivos/ajax/paginacao-'+caminho+'.php',
data:{'id':id, 'cat':cat},
beforeSend:function() {
$(''+div+'').animate({opacity:0.5});
},success:function(html) {
$(''+div+'').animate({opacity:1}).html(html);
}
});
}
}>
var cate = $('#cat').val()
Não está dando Undefined mas o valor de cate não está indo pra function paginas.iniciar, poderia dizer o porque ?
Obrigado . :D
Está bem errado o que vc está fazendo, utilizando onchange="", seria melhor não misturar js no html, assim como o jQuery diz para ser feito. Mas tente assim:
<select id="cat" name="cat" onchange="paginas.iniciar('#paginacao-noticia','noticia','<?php echo $pagina; ?>', this.value);">Isso ajudou muito ^^, mas o problema era que já existia uma TAG php com nome de CAT, só renomeei o WHILE, e funcionou. Obrigadão! :D
var cate = $('#cat').val()