我有两个选择,一个在切换时切换另一个
<select class="select-global-132" name="tipo" id="tipo" onchange="tipo_cambio()">
<option value="Digital" selected>Seleccionar</option>
<option value="Boleta">Boleta</option>
<option value="Factura">Factura</option>
<option value="Traslado">Guia de Despacho</option>
</select>
和第二个
<select style="display:none;" name="iva" id="iva" >
<option value="0" selected>No</option>
<option value="19">Aplicar 19%</option>
</select>
执行该技巧的javascript设置TAXES而第一选择中的选项2或3但我刚刚添加了一个新选项并且它必须不添加税但无论如何
尝试修复它的方法是以下
function tipo_cambio () {
var tipo = document.getElementsByName('tipo')[0];
if ( tipo.value == "Digital")
if ( tipo.value == "Traslado")
taxes.selectedIndex = 0;
else taxes.selectedIndex = 1;
但它无论如何都无法增加税收。我需要它设置为第一个或最后一个选项时不设置税率19%但是仅应用选项2和3来应用税收(切换另一个选择)
问题出在这里,但我对javascript不太好
if ( tipo.value == "Digital")
if ( tipo.value == "Traslado")
任何想法?
这里是整个javascript代码
var taxes = document.getElementsByName('iva')[0];
var discount = document.getElementsByName('descuento')[0];
var cost = document.getElementsByName('neto')[0];
var price = document.getElementsByName('preciodesc')[0];
var tneto = document.getElementsByName('totalneto')[0];
var ttaxes = document.getElementsByName('ivaunitario')[0];
var ivatot = document.getElementsByName('ivatotal')[0];
var total = document.getElementsByName('subtotal')[0];
var quantity = document.getElementsByName('cantidad')[0];
var ttp = document.getElementsByName('total')[0];
var micosto = document.getElementsByName('costo')[0];
var costotot = document.getElementsByName('costototal')[0];
var migan = document.getElementsByName('ganancia')[0];
var gantot = document.getElementsByName('gananciatotal')[0];
function updateInput() {
price.value = cost.value - (cost.value * (discount.value / 100));
ttaxes.value = (price.value * (taxes.value / 100));
ivatot.value = parseFloat(ttaxes.value) * parseFloat(quantity.value);
costotot.value = parseFloat(micosto.value) * parseFloat(quantity.value);
migan.value = parseFloat(price.value) - parseFloat(micosto.value);
gantot.value = parseFloat(migan.value) * parseFloat(quantity.value);
tneto.value = parseFloat(price.value) * parseFloat(quantity.value);
var sum = parseFloat(price.value) + parseFloat(ttaxes.value);
total.value = sum.toFixed(0);
ttp.value = sum.toFixed(0) * quantity.value;
}
taxes.addEventListener('change', updateInput);
discount.addEventListener('change', updateInput);
cost.addEventListener('change', updateInput);
cost.addEventListener('keyup', updateInput);
quantity.addEventListener('keyup', updateInput);
function tipo_cambio () {
var tipo = document.getElementsByName('tipo')[0];
if ( tipo.value == "Digital")
if ( tipo.value == "Traslado")
taxes.selectedIndex = 0;
else taxes.selectedIndex = 1;
updateInput();
}
答案 0 :(得分:0)
试试这个..也许这可以帮到你..你现在可以使用jquery
function tipo_cambio () {
var tipo = $('#tipo').val();
if ( $('#tipo').val() == "Digital"){
}else if ( $('#tipo').val() == "Traslado"){
$('#iva').show();
$('#iva').val(19);
}else {
$('#iva').val(0);
updateInput();
}
}
示例JSFIDDLE