Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

09-12-2014 12:53

Vejo muitos exemplos de combobox com select, porém precisava fazer um com checkbox, tipo:

Ao selecionar um item no select, este abriria varios checkbox relacionados a ele para serem marcados ....

Vamos dizer que a tabela fruta tem :
idf - fruta
1 - pera
2 - uva
3 - maçã

Tabela cor
idc - cor
1 - azul
2 - amarelo
3 - verde
4 - vermelho

e na tabela relação eu teria o que é de cada um
idr - idf - idc
1 - 1 - 1
2 - 1 - 2
3 - 1 - 4
4 - 2 - 2
5 - 2 - 3

O que eu preciso é que ao selecionar a fruta, carregue uma div com as cores relacionadas para que eu possa escolher, tipo , caso eu escolha uva , vai carregar dois checkbox com as cores amarelo e verde.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

09-12-2014 13:13

A questão das relação dos dados, você pode usar esse código Carregar-select-option-baseado-em-outro ... _7397.html
Você só vai precisar relacionar o valor da option para capturar os dados de uma consulta MySQL.

Você também pode adicionar uma coluna de relação na tabela cor, para estar relacionada as frutas, mas, isso vai depender da estrutura do seu sistema, para ver se seria viável.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

09-12-2014 14:19

ok, porém no caso do checkbox não tenho o select tipo <select name="select2"> , ai esta minha dúvida , como proceder ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

09-12-2014 14:31

No caso o select2 será a sua div que recebe o valor.

$("#suadiv").html(valor);

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

09-12-2014 16:35

Não aparece os checkboxs ....

<div class="control-group">                   <label name='curso' class="control-label">Curso</label>                   <div class="controls">                     <select name="id_cur" id="id_cur" class="input-large m-wrap" tabindex="1">                     <option selected="selected">--Selecione o curso--</option>                     <?php                                         $sql5 = mysql_query("SELECT * FROM curso ORDER BY cur ASC")or die(mysql_error());                                         while ($row2 = mysql_fetch_assoc($sql5)) {                                                 $id_cur = $row2['id_cur'];                                                 $cur = $row2['cur'];                                         ?>                       <option value="<?php echo $id_cur; ?>"><?php echo $cur; ?></option>                       <?php } ?>                     </select>                   </div>                 </div>                 <div class="control-group">                   <label class="control-label">Disciplinas no semestre</label>                   <div class="controls">                   <div class="disc"> </div>                                       </div>                 </div>


<script type="text/javascript"> $(document).ready(function() {   $("select[name=id_cur]").change(function(){ $(".disc").html('<input type="checkbox" name="m_al[]" value="">Selecione<br>'); $.post("disc.php", {valor:$(this).val()}, function(valor){ $(".disc]").html(valor); } ) })                                 }); </script>

disc.php

<?php require_once('../curio.php'); if($_POST['id_cur']) { $id=$_POST['id_cur']; $sql=mysql_query("select * from materia INNER JOIN psm ON materia.mat_id = psm.m_psm WHERE psm.c_psm = '$id'"); while($row=mysql_fetch_array($sql)) { $idm=$row['mat_id']; $mat=$row['mat_mat']; echo '<input type="checkbox" name="m_al[]" value="'.$idm.'"> '.$mat.'<br>'; } } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

09-12-2014 16:48

Seu select não está batendo com a função jQuery

<select name="id_cur" id="id_cur" class="input-large m-wrap" tabindex="1">


$("select[name=curso]").change(function(){

Você também está passando valor

$.post("disc.php", {valor:$(this).val()},

E está tentando recuperar id_cur

$id=$_POST['id_cur'];

Tem também um colchete que acho ser um erro no código

$(".disc]").html(valor);
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

09-12-2014 17:53

Desta forma ficou perfeito

<script type="text/javascript"> jQuery(document).ready(function() { $("#curso").change(function() { var id_cur=$(this).val(); var dataString = 'id_cur='+ id_cur;   $.ajax ({ type: "POST", url: "disc.php", data: dataString, cache: false, success: function(html) { $(".disc").html(html); } });   }); }); </script>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

09-12-2014 17:55

blz
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

09-12-2014 18:24

a dúvida agora é no update, pois é passado um prarâmetro via get para a página onde vai exibir estes dados, logo eu preciso passar o id_cur como esta sendo feito e um outro id que foi via get, fiz uma nova página ....
discup.php

<?php header ('Content-type: text/html; charset=ISO-8859-1'); require_once('../curio.php'); $id_al=$_GET['id_al']; $up1 = mysql_query("SELECT * FROM aluno WHERE id_al='$id_al'") or die (mysql_error()); $val = mysql_result($up1,0,'m_al'); $val1 = explode(', ',$val); if($_POST['id_cur']) { $id=$_POST['id_cur'];             $valores = mysql_query("SELECT* FROM materia INNER JOIN psm ON materia.mat_id = psm.m_psm WHERE psm.c_psm = '$id'") or die (mysql_error()); while ($ex1 = mysql_fetch_array($valores)){ $idmat = $ex1['mat_id']; $val11 = explode(', ',$idmat); foreach ( $val11 as $tag ){ if(in_array($tag,$val1)){ echo "<input name='m_al[]' type='checkbox' value=".$tag." checked='checked' >".$ex1['mat_mat']."<br>"; } else { echo "<input name='m_al[]' type='checkbox' value=".$tag." >".$ex1['mat_mat']."<br>"; } } } } ?>

Como passar este parâmetro junto ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

09-12-2014 18:42

Você pode tentar assim

var id_cur=$(this).val(); var id_cur2 = $(this).attr('outro'); var dataString = 'id_cur='+ id_cur + '&id_cur2=' + id_cur2;

Observe que passei um atributo, do mesmo elemento

var id_cur2 = $(this).attr('outro');

Sendo assim, sua option deve ter essa base

<option outro="valor tal"....

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

10-12-2014 07:44

Seria isso :

<div class="control-group">                   <label class="control-label">Curso</label>                   <div class="controls">                     <select name="id_cur" id="curso" class="input-large m-wrap" tabindex="1">                     <?php                                          $sql4 = mysql_query("SELECT * FROM curso ORDER BY cur ASC ")or die(mysql_error());                    while ($row2 = mysql_fetch_assoc($sql4)) {       echo "<option outro=".$id_al." value=".$row2['id_cur']." ".($ex['id_c'] == $row2['id_cur'] ? "selected":"")." >".$row2['cur']."</option>";                        } ?>                     </select>                   </div>                 </div>                 <div class="control-group">                   <label class="control-label">Disciplinas</label>                   <div class="controls">                     <div class="disc"> </div>                   </div>                 </div>


<script type="text/javascript"> jQuery(document).ready(function() { $("#curso").change(function() { var id_cur=$(this).val(); var id_cur2 = $(this).attr('outro'); var dataString = 'id_cur='+ id_cur + '&id_cur2=' + id_cur2;   $.ajax ({ type: "POST", url: "discup.php", data: dataString, cache: false, success: function(html) { $(".disc").html(html); } });   }); }); </script>

e o discup.php
<?php header ('Content-type: text/html; charset=ISO-8859-1'); require_once('../curio.php'); if($_POST['id_cur']) { $id=$_POST['id_cur']; $id2=$_POST['id_cur2']; $up1 = mysql_query("SELECT * FROM aluno WHERE id_al='$id2'") or die (mysql_error()); $val = mysql_result($up1,0,'m_al'); $val1 = explode(', ',$val);              $valores = mysql_query("SELECT * FROM materia INNER JOIN psm ON materia.mat_id = psm.m_psm WHERE psm.c_psm = '$id'") or die (mysql_error()); while ($ex1 = mysql_fetch_array($valores)){ $idmat = $ex1['mat_id']; $val11 = explode(', ',$idmat); foreach ( $val11 as $tag ){ if(in_array($tag,$val1)){ echo "<input name='m_al[]' type='checkbox' value=".$tag." checked='checked' >".$ex1['mat_mat']."<br>"; } else { echo "<input name='m_al[]' type='checkbox' value=".$tag." >".$ex1['mat_mat']."<br>"; } } } } ?>

Só que não acontece nada , não aparece os checkboxs ....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

10-12-2014 08:04

Ali no id_cur2 tem que pegar a opção selecionada. Então fica:

var id_cur2 = $("#curso option:selected").attr("outro");

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

10-12-2014 08:36

quase 100% , não vem os checkbox, tenho de selecionar o select p eles aparecerem .... ai sim eles aparecem ....
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

combobox com checkbox

10-12-2014 08:40

Mas o script está configurado para isso mesmo

$("#curso").change(function() { }

Você tem que acionar algum evento, para pegar os valores que serão enviados para o outro documento.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

combobox com checkbox

10-12-2014 08:45

ok
Vlw pela ajuda
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado