Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Observem no HTML que a CATEGORIA está desabilitada e as SUB-CATEGORIAS estão selecionáveis.
O que eu preciso é um seguinte:
Quando se clicar em uma SUB-CATEGORIA além de inserir o seu valor no campo hidden inserir também o valor da CATEGORIA na frente deste valor.
Código HTML:
<input type="hidden" name="all_cat" id="all_cat" value="">
<div class="form_cat">
<label>
<input type="radio" disabled="disabled" name="category[]" id="category_1" value="10,0" class="checkbox" onclick="fetch_packages('10',this.form,'')"> <strong>Agitos</strong>
</label>
</div>
<div class="form_cat" style="margin-left:15px;">
<label>
<input type="radio" name="category[]" id="category_1" value="32,0" class="checkbox" onclick="fetch_packages('32',this.form)"> Bares e Choperias
</label>
</div>
<div class="form_cat" style="margin-left:15px;">
<label>
<input type="radio" name="category[]" id="category_1" value="31,0" class="checkbox" onclick="fetch_packages('31',this.form)"> Boates e Casas De Show
</label>
</div>
Isto está dentro de um form e que tem o valor recuperado por AJAX para um campo tipo hidden ao selecionar um radio qualquer.
Parte de código Ajax que recupera o valor do campo radio selecionado e grava no valor no campo hidden:
function fetch_packages(pkgid,form,pri)
{
var total = 0;
var t=0;
//var c= form['category[]'];
var dml = document.forms['propertyform'];
var c = dml.elements['category[]'];
var cats = document.getElementById('all_cat').value;
document.getElementById('all_cat').value = "";
document.getElementById('all_cat_price').value = 0;
document.getElementById('cat_price').innerHTML = 0;
for(var i=0;i<c.length;i++){
c[i].checked?t++:null;
if(c[i].checked)
{
var a = c[i].value.split(",");
document.getElementById('all_cat').value += a[0]+"|";/*RECUPERA O VALOR DO CAMPO*/
document.getElementById('all_cat_price').value = parseFloat(document.getElementById('all_cat_price').value) + parseFloat(a[1]);
document.getElementById('cat_price').innerHTML = parseFloat(document.getElementById('all_cat_price').value);
}
document.getElementById('total_price').value = parseFloat(document.getElementById('all_cat_price').value) + parseFloat(document.getElementById('feture_price').innerHTML) + parseFloat(document.getElementById('pkg_price').innerHTML);
document.getElementById('result_price').innerHTML = parseFloat(document.getElementById('all_cat_price').value) + parseFloat(document.getElementById('feture_price').innerHTML) + parseFloat(document.getElementById('pkg_price').innerHTML);
}
var cats = document.getElementById('all_cat').value ;
document.getElementById("packages_checkbox").innerHTML="";
document.getElementById("process2").style.display ="";
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("packages_checkbox").innerHTML =xmlhttp.responseText;;
document.getElementById("process2").style.display ="none";
}
}
url = "<?php echo get_template_directory_uri(); ?>/monetize/place/ajax_price.php?pckid="+cats
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
Acredito que essa modificação de dará na linha **document.getElementById('all_cat').value += a[0]+"|";/RECUPERA O VALOR DO CAMPO/. O problema é que eu não sei como selecionar o primeiro elemento acima do radio selecionado com o atributo ‘disabled="disabled"**’ ou outro qualquer do campo radio da categoria.
Alguém pode me ajudar por favor!
Desde já eu agradeço.
Carregando comentários...