Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

[Resolvido] Ccomo eu poderia no select, receber um terceiro argum

Recommended Posts

ola pessoal.

 

Tenhpo o select abaixo:

    <select name="fornecedor"  id="fornecedor" size="1"  onChange="entrega_valor(this.fidelidade_fornecedor_select, 'fidelidade')" style="width:180px">
           <option value="<?php echo $id_fornecedor;?>" selected><?php echo $nome_fornecedor;?></option>";    
   <?php
$fornecedores= "
                select 
				  fornecedores.id, 
				  concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial , '' )),
				  percentual_fidelidade
				from fornecedores
			   ";

$fornecedores= mysql_query($fornecedores);
while(list($id_fornecedores, $nome_fornecedores, $fidelidade_fornecedor_select)=mysql_fetch_row($fornecedores))
{
  echo "<option value='$id_fornecedores' fidelidade_fornecedor_select='$fidelidade_fornecedor_select'>$nome_fornecedores</option>";   
} 
?>
   </select>    <br />
   Percentual Fidelidade:    <label id="fidelidade" name="fidelidade"><?php echo $fidelidade_fornecedor;?></label>%

A ideia aqui é pegar o id e o nome do fornecedor para preencher o select

Para isso, faço a query acima.

Mas, tem um campo da tabela de fornecedores, percentual_fidelidade, que a cada vez que o fornecedor é trocado na select, preciso chamar uma funçao no onchange que irá substituir o innerHtml do label fidelidade.

A funçao esta funcionando, testei com o value do campo e deu certo.

Mas , como eu poderia no select receber um terceiro argumento para envia-lo no onchange?

Tentei criando um parametro 'fidelidade_fornecedor_select' mas não aceita. (Geralmente faço isso com textboxs e funciona normal)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, inventar atributos HTML não é "legal"..

 

pelo que entendi, uma forma de resolver, é disparar uma requisição ajax, a cada onchange.

mais ou menos como isso aqui:

http://wbruno.com.br/blog/2009/08/26/combobox-preenche-input-ajax/

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que não entendo direito.

 

nesse squema teu não é resolvido o meu problema de enviar o terceiro campo. É?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não envio outro parametro, mas sim busco no banco com base no value do option.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu irmão.

 

Ficou mais facil assim:

   <?php
$fornecedores= "
                select 
				  fornecedores.id, 
				  concat( IFNULL(fornecedores.nome, ''), IFNULL (fornecedores.razaosocial , '' )),
				  percentual_fidelidade
				from fornecedores
			   ";

$fornecedores= mysql_query($fornecedores);
?>
 <select name="fornecedor"  id="fornecedor" size="1"  onChange="entrega_valor(this.value, 'fidelidade')" style="width:180px">
 <option value="" selected>Escolha o Fornecedor</option>";    
<?	
while(list($id_fornecedores, $nome_fornecedores, $fidelidade_fornecedor_select)=mysql_fetch_row($fornecedores))
{
  echo "<option value='$id_fornecedores;$fidelidade_fornecedor_select'>$nome_fornecedores</option>";   
} 
?>
   </select>    <br />
   Percentual Fidelidade:    <label id="fidelidade" name="fidelidade">Escolha o fornecedor</label>%
   </td>

Js

// JavaScript Document
function entrega_valor(valor, campo)
{
valor_label = valor.split(';')[1];
document.getElementById(campo).innerHTML =valor_label;
}

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.