Javascript选择开关选择更改

时间:2015-09-14 00:05:00

标签: javascript php jquery html mysql

我有两个选择,一个在切换时切换另一个

<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();
}

1 个答案:

答案 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