2014-12-31 6 views
0

У меня есть 2 флажка ввода и список выбора.Логика для реализации выхода функции другой функции

Всякий раз, когда установлен флажок, в элемент следует добавить определенную сумму с «количеством» в качестве ее идентификатора.

Например: Основная цена продукта - 6000, и всякий раз, когда установлен флажок, к этой базовой цене добавляется определенная сумма.

Это то же самое для блока выбора, который имеет 10 входных значений. Каждое значение умножается на 600, а результат добавляется в элемент с «количеством» в качестве id.

Отъезд JSFiddle для полного понимания: http://jsfiddle.net/0j796h33/13/

Это то, что я пытался для выбора окна.

function ep(t) 
{ 
    // addedprice = 0; 
    var addedprice = t.value * 600; 
    total = total + addedprice; 
    // total = 6000 - total; 
    document.getElementById('total').innerHTML = " (+) "+ addedprice; 
    loginer = document.getElementById('login').checked; 
    profer = document.getElementById('prof').checked; 
    if(t.value > 0) 
    { 
     // total = total + addedprice; 
     if(wpress) 
     { 
      wp(addedprice); 
     } 
     if(blogger) 
     { 
      blog(addedprice); 
     } 
     if(loginer) 
     { 
      login(addedprice); 
     } 
     if(profer) 
     { 
      prof(addedprice); 
     } 
    } 

    document.getElementById('amount').value = 6000 + total; 
    total = 6000 + total; 
    document.getElementById('amount').value = total; 
} 

Мне нужно реализовать это в Javascript.

+2

Почему вы отметили этот jQuery? вам нужны ответы, содержащие jQuery? – andrew

+0

да, ответы были бы предпочтительными в jquery тоже – cyberrspiritt

ответ

1

Вы можете найти пример реализации here fiddle.

Я использовал jQuery, поскольку это проще и требует меньше кода. Я думаю, что это более или менее то, что вы просили.

$("#login").change(function (ev) { 
    var qty = +($("#amount").val()); 
    qty += $(this).prop("checked") ? 1500 : -1500; 
    $("#amount").val(qty); 
    updateAmountSpan(qty); 
}); 

$("#prof").change(function (ev) { 
    var qty = +($("#amount").val()); 
    qty += $(this).prop("checked") ? 2000 : -2000; 
    $("#amount").val(qty); 
    updateAmountSpan(qty); 
}); 

var previous; 
$("#ep").on('click', function() { 
    previous = this.value; 
}).change(function() { 
    var qty = +($("#amount").val()), 
     qty_sel = +($(this).val()) * 600, 
     qty_prev = previous * 600; 
    $("#amount").val(qty - qty_prev + qty_sel); 
    updateAmountSpan(qty - qty_prev + qty_sel); 
}); 

var updateAmountSpan = function (qty) { 
    (qty > 0) ? $("#total").text("6000 (+) " + qty) : $("#total").text("6000"); 
}; 

Надеюсь, что это поможет и с новым годом.

+0

Да, это решение для этого. Большое спасибо за помощь. и счастливый новый год для вас тоже .. !! – cyberrspiritt

0

$(document).ready(function() { 
 
    
 
    $("#login").change(function() { 
 
    if(this.checked) { 
 
     login(); 
 
    } 
 
});

Постарайтесь делать это так, и если вам нужно добавить оператор еще удалить, если предварительно было добавлено что-то.

+0

heres отредактированный jsfiddle: http://jsfiddle.net/0j796h33/13/ – cyberrspiritt

+0

Проверьте мою полную реализацию. Он также обновляет значение суммы при нажатии кнопки или флажок [ссылка на мою реализацию] (http://jsfiddle.net/ma_anjum95/0j796h33/16/) –

0

Этот код будет принимать каждый выбранный пункт и умножив его с 600 затем добавить его в общий и ввода суммы:

var addedprice = 0; 
 
var total = parseInt(document.getElementById("total").innerHTML); 
 
var amount = document.getElementById("amount"); 
 
function ep() 
 
{ 
 
    var sValue = parseInt($("#ep").val()) * 600 ; 
 
    amount.value = sValue; 
 
    total = total + sValue; 
 
    document.getElementById("total").innerHTML = total; 
 

 
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 

 
<input type=checkbox id="login" onchange="login()"> Item 1 <br/> 
 
<input type=checkbox id="prof" onchange="prof()"> Item 2<br/> 
 
    <select id="ep" onchange="ep()"> 
 
\t  <option value="0">0</option> 
 
\t \t <option value="1">1</option> 
 
\t \t <option value="2">2</option> 
 
\t \t <option value="3">3</option> 
 
\t \t <option value="4">4</option> 
 
\t \t <option value="5">5</option> 
 
\t \t <option value="6">6</option> 
 
\t \t <option value="7">7</option> 
 
\t \t <option value="8">8</option> 
 
\t \t <option value="9">9</option> 
 
\t \t <option value="10">10</option> 
 
\t </select>Item 3 <br> 
 
    
 
    <input type="text" id="amount"><br> 
 
     <span id="total">6000 </span>

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