Ir para conteúdo

POWERED BY:

Arquivado

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

gremio10

Ajax e Json com Prototype

Recommended Posts

Fala galera, aqui no trabalho nos utilizamos o prototype junto com o jQuery, e estamos com um problema de duplicidade de id's, e gostaria-mos de pegar os valores das class dos elementos, mas desconhecemos como poderia-mos fazer isso.

 

código do onChange de nosso select:

 

Event.observe('budGet_stateId','change',function(){
    	loadCities();                 
    });

    function loadCities () {
    	 new Ajax.Request(rootUrl+'product/loadCities/stateId/'+$F('budGet_stateId'),{onLoading:disableFields,onSuccess:populateCities,onFailure:enableFields});
    }   

    function disableFields() {
		$('budGet_cityId').disabled = true;
    }

    function enableFields () {
    	$('budGet_cityId').disabled = false;
    }

    function populateCities(response) {

    	$('budGet_cityId').options.length = 0;                
        var json = response.responseJSON;
		for(i=0;i<json.length;i++) {
			$('budGet_cityId').options[i] = new Option(json[i][0],json[i][1]);
		}

		enableFields();          

    }

 

código Smarty dos campos debaixo:

 

<label>Estado:</label>
{select object="budGet" property="stateId" from=$states class="bottom" includeblank="true"}
<label>Cidade:</label>
{select object="budGet" property="cityId" from=$cities class="bottom" includeblank="true"}

 

em HTML de cima e de baixo, respectivamente:

 

<select id="budGet_stateId" name="budGet[stateId]" class="top"></select>
<select id="budGet_cityId" name="budGet[cityId]" class="top"></select>
<!-- -->
<select id="budGet_stateId" name="budGet[stateId]" class="bottom"></select>
<select id="budGet_cityId" name="budGet[cityId]" class="bottom"></select>

 

Obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posso estar enganado, mas no trecho abaixo tem um problema.

 

new Ajax.Request(rootUrl+'product/loadCities/stateId/'+$F('budGet_stateId'),{onLoading:disableFields,onSuccess:populateCities,onFailure:enableFields});

 

disableFields não é uma função? Então, disableFields() é o correto. Da mesma forma, com populateCities() e enableFields().

 

Carlos Eduardo

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.