1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida php e javascript/ jquery

Discussão em 'Web Development' iniciada por xpro, 6 de Dezembro de 2012. (Respostas: 1; Visualizações: 766)

  1. xpro

    xpro Power Member

    Boas estou a fazer um trabalho para criar orçamentos.
    O meu objectivo é ter vários pisos e conseguir usar um chained select(combo box) que tirei de um exemplo.
    O meu problema neste momento é que a funçao funciona para a primeira vez que que uso as combo box(primeiro piso por exemplo).

    Eu tenho um ciclo que me imprime os pisos e os produtos para esse piso e no fim a opção para adicionar um novo produto utilizando estas combo box no entanto como ao fazer o while o nome dos campos repetem-se no segundo piso a função deixa de funcionar.

    o código javascript é
    <script type="text/javascript">
    $(document).ready(function() {
    $('#wait_1').hide();
    $('#drop_1').change(function(){
    $('#wait_1').show();
    $('#result_1').hide();
    $.get("func.php", {
    func: "drop_1",
    drop_var: $('#drop_1').val()
    }, function(response){
    $('#result_1').fadeOut();
    setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
    });
    return false;
    });
    });


    function finishAjax(id, response) {
    $('#wait_1').hide();
    $('#'+id).html(unescape(response));
    $('#'+id).fadeIn();
    }
    function finishAjax_tier_three(id, response) {
    $('#wait_2').hide();
    $('#'+id).html(unescape(response));
    $('#'+id).fadeIn();
    }


    function finishAjax_tier_three_3(id, response) {
    $('#wait_3').hide();
    $('#'+id).html(unescape(response));
    $('#'+id).fadeIn();
    }
    </script>

    Depois tenho o ciclo while imprime isto várias vezes
    {

    <form action="" method="post">

    <select name="drop_1" id="drop_1">

    <option value="" selected="selected" disabled="disabled">Select a Category</option>

    <?php getTierOne(); ?>

    </select>

    <span id="wait_1" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_1" style="display: none;"></span>
    <span id="wait_2" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_2" style="display: none;"></span>
    <span id="wait_3" style="display: none;">
    <img alt="Please Wait" src="ajax-loader.gif"/>
    </span>
    <span id="result_3" style="display: none;"></span>

    </form>
    }

    Eu de php percebo agora de javascript/jquery nao percebo eu gostava era de saber se havia alguma forma de apesar de aparecerem os formulários ao longo da página aquele script em cima ignorar todas os campos com nomes wait_1 wait_2 result_1 ... menos aqueles que pertencem ao formulário que eu estiver a usar naquele momento, o que eu quero mesmo é que aquele script seja apenas aplicado ao formulário que eu estou a usar.Não sei se será possivel fazer isso.
    Obrigado
    Obrigado.
     
    Última edição: 6 de Dezembro de 2012
  2. Sa[n]dman

    Sa[n]dman Power Member

    mete as tags form dentros dos span.

    Quando submetes ele envia tudo que está entre <form> e </form>. o botão submit também tem de estar lá dentro.

    Usas o JS só para trocar de separador.
     

Partilhar esta Página