2013-03-03 3 views
2

У меня есть одна проблема. Системы отлично работают, когда я выбираю флажки, общее значение изменяется, но как только я изменяю ввод текста, он изменяется на 0. Мне нужно исключить это текстовое поле из изменения значения.Выберите только флажок в поле getElementsByTagName, исключить ввод текстового поля

вот HTML:

 <input type="checkbox" id="15000"/>$15000<br/> 
     <input type="checkbox" id="9400"/>$9400<br/> 
     <label>Quantity</label><input class="text" type="text" maxlength="3" size="2" value="1" name="qty"></input> 

     <div id="total">$5000</div> 

Вот JavaScript:

var input = document.getElementsByTagName("input"); 
    var total = document.getElementById("total"); 

    var prev; 

    for(i=0;i<input.length;i++){ 
    input[i].onchange = function(){ 
    if(this.checked){ 
    $("#total").fadeOut(300); 
    $("#total").fadeIn(300); 
    prev=parseFloat(total.innerHTML.replace(/[^0-9\,]+/g,"")) + parseFloat(this.id); 
     total.innerHTML = "$ " + prev.formatMoney(0, ',', '.'); 
    }else{ 
    $("#total").fadeOut(300); 
    $("#total").fadeIn(300); 
    prev=parseFloat(total.innerHTML.replace(/[^0-9\,]+/g,"")) - parseFloat(this.id); 
     total.innerHTML = "$ " + prev.formatMoney(0, ',', '.'); 
    } 
    } 
} 

Вот скрипка: http://jsfiddle.net/M7My9/1/

ответ

3

Добавить if(this.type=='text') в первой строке OnChange обработчика для обнаружения тип входа

+0

я добавил, если (this.type! = 'Текст') в верхней части OnChange, спасибо дружище! :) –

3

Попробуйте ниже

if(document.getElementsByTagName("input").type == "checkbox") 

Пожалуйста, проверьте обновленную скрипку here

+0

Где я могу добавить эту строку? –

+0

Я попытался присвоить что-то вроде этого, но он не работает: var input = document.getElementsByTagName («input»). Type («checkbox»); @AshReva –

+0

После инициализации переменной ввода var используйте этот параметр if (input) .type == "checkbox"). Используйте это до начала цикла for – DevelopmentIsMyPassion

Смежные вопросы