每當另一個選擇框收到用戶輸入時,我需要填充選擇框。但是,我需要爲每個填充的選項分配一個值。第一個選擇框強制用戶選擇Basic,Prime或Gold。我需要在下一個選擇框來填充選擇的確切的對象:Javascript選擇框選擇填充其他選擇框
var basic = {
"Option" : ["200/month for 1-yr", "250/month"],
"Value" : [200, 250]
}
var prime = {
"Option" : ["300/month for 1-yr", "350/month"],
"Value" : [300, 350]
}
var gold = {
"Option" : ["400/month for 1-yr", "450/month"],
"Value" : [400, 450]
}
我想我需要一個ID,以填充它設置爲初始選擇框的每個選項。
的Javascript:
var term = 0;
var price = 0;
var additional = 0;
var select = document.getElementById('billing-price');
select.addEventListener('change', updatePrice, false);
var plan = document.getElementById('billing-plan');
plan.addEventListener('change', enableBilling, false);
var basic = {
"Option" : ["200/month for 1-yr", "250/month"],
"Value" : [200, 250]
}
var prime = {
"Option" : ["300/month for 1-yr", "350/month"],
"Value" : [300, 350]
}
var gold = {
"Option" : ["400/month for 1-yr", "450/month"],
"Value" : [400, 450]
}
function populateBilling(e) {
//FILL BILLING PERIOD WITH PLAN OPTIONS AND VALUES
}
function enableBilling(e) {
document.getElementById("billing-price").disabled=false;
}
function updatePrice(e) {
price = parseFloat(select.value);
if (price == select.options[2].value){
term = 1;
}
document.getElementById('payment-total').innerText = price + additional;
if (price == select.options[2].value){
document.getElementById('payment-rebill').innerText = 0 + additional;
} else {
document.getElementById('payment-rebill').innerText = price + additional;
}
}
HTML:
<h4 class="plan-info-header">Plan info</h4>
<label class="plan-name">Plan name:
<select id="billing-plan" name="billing-plan" class="selectpicker">
<option>Choose plan</option>
<option id="basic">Basic</option>
<option id="prime">Prime</option>
<option id="gold">Gold</option>
</select>
<div class="payment-term">
<label>Billing period:</label>
<select id="billing-price" name="billing-term" class="selectpicker" disabled>
<option value="0">Choose billing term</option>
</select>
<div class="card-charge-info">
Your card will be charged $
<span id="payment-total">0</span>
now, and your subscription will bill $
<span id="payment-rebill">0</span>
every month thereafter. You can cancel or change plans anytime.
</div>
這裏是一個的jsfiddle樣機:http://jsfiddle.net/aGq9q/1/